麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > php ceil函數解析

php ceil函數解析

來源:千鋒教育
發布人:xqq
時間: 2023-11-22 08:34:21 1700613261

一、ceil函數

ceil函數是php中的一個取整函數,用于將一個數值向上取整為最接近的整數。常用于金融計算和分頁計算中。


/**
 * 向上取整為最接近的整數
 * @param float $num 待取整數值
 * @return int
 */
function ceil($num) {
    $ceil = (int) $num; // 取整數部分
    if ($num != $ceil && $num < 0)
        $ceil -= 1; // 處理負數情況
    elseif ($num != $ceil && $num > 0)
        $ceil += 1; // 處理正數情況
    return $ceil;
}

ceil函數接受一個浮點數作為參數,返回一個整數。如果參數是正數,則向上取整;如果是負數,則向下取整,然后再將結果取相反數。如果參數是整數,則直接返回該參數。

二、php函數slice

php函數slice也可以用于數字取整,它的作用是返回數組的一個片段,如果參數是正數,表示從左邊開始取;如果是負數,表示從右邊開始取。


/**
 * 返回數組的一個片段
 * @param array $array 待分片的數組
 * @param int $offset 開始位置
 * @param int|null $length 截取長度
 * @return array
 */
function slice(array $array, int $offset, int $length = null): array {
    if ($offset < 0) {
        $offset = count($array) + $offset;
        if ($offset < 0)
            $offset = 0;
    }
    if ($length < 0) {
        $length = count($array) + $length - $offset;
        if ($length < 0)
            $length = 0;
    }
    if ($length === null)
        $length = count($array) - $offset;
    return array_slice($array, $offset, $length);
}

使用php函數slice可以實現向下取整,例如:將小數點后的部分截取,然后將其轉換為整數。具體示例代碼如下:


$num = 3.14;
$decimal = slice(str_split(strval($num), 2), 1);
$ceil = (int)implode("", $decimal) + ($num < 0 ? -1 : 0);

三、phpreplace函數

phpreplace函數可以用于替換字符串中的部分字符,例如可以將小數點后的部分替換為0,然后將結果轉換為整數。具體示例代碼如下:


$num = 3.14;
$ceil = (int)str_replace(".", "0", strval($num));
if ($num < 0)
    $ceil -= 1;

四、phpinfo函數

phpinfo函數可用于獲取php運行環境的信息,并輸出到瀏覽器窗口或文件。這個函數主要是用于調試和排錯。



五、phppos函數

phppos函數用于在字符串中查找子字符串,并返回其出現的位置。如果沒有找到,則返回false。


/**
 * 查找子字符串,并返回其出現的位置
 * @param string $haystack 待查找字符串
 * @param string $needle 待查找的字符串
 * @param int $offset 開始查找的位置
 * @return int|false 
 */
function strpos($haystack, $needle, $offset = 0) {
    $len_h = strlen($haystack);
    $len_n = strlen($needle);
    if ($len_h < $len_n || $len_n <= 0 || $offset > $len_h - 1)
        return false;
    for ($i = $offset; $i <= $len_h - $len_n; $i++) {
        if ($haystack[$i] == $needle[0]) {
            for ($j = 1; $j < $len_n && $haystack[$i + $j] == $needle[$j]; $j++);
            if ($j == $len_n)
                return $i;
        }
    }
    return false;
}

六、phpmap函數

phpmap函數用于對數組中的每個元素應用一個回調函數。


/**
 * 對數組中的每個元素應用一個回調函數
 * @param callable $callback 回調函數
 * @param array $array 需要處理的數組
 * @return bool
 */
function array_map(callable $callback, array $array): bool {
    $ret = true;
    foreach ($array as $key => $value) {
        $new_value = call_user_func($callback, $value, $key);
        if ($new_value === false)
            return false;
        $array[$key] = $new_value;
    }
    return $ret;
}

七、phpdate函數

phpdate函數用于獲取當前時間或指定時間的格式化字符串。


/**
 * 獲取當前時間或指定時間的格式化字符串
 * @param string $format 時間格式字符串
 * @param int|null $timestamp 時間戳
 * @return false|string
 */
function date($format, int $timestamp = null) {
    if ($timestamp === null)
        $timestamp = time();
    $time = getdate($timestamp);
    $result = "";
    for ($i = 0, $n = strlen($format); $i < $n; $i++) {
        if ($format[$i] == "\\") {
            $result .= $format[$i + 1];
            $i++;
        } elseif (preg_match("/[djSmaA]/", $format[$i])) {
            switch ($format[$i]) {
                case "d":
                    $result .= sprintf("%02d", $time["mday"]);
                    break;
                case "j":
                    $result .= $time["mday"];
                    break;
                case "S":
                    if ($time["mday"] == 11 || $time["mday"] == 12 || $time["mday"] == 13)
                        $result .= "th";
                    elseif (substr($time["mday"], -1) == 1)
                        $result .= "st";
                    elseif (substr($time["mday"], -1) == 2)
                        $result .= "nd";
                    elseif (substr($time["mday"], -1) == 3)
                        $result .= "rd";
                    else
                        $result .= "th";
                    break;
                case "m":
                    $result .= sprintf("%02d", $time["mon"]);
                    break;
                case "a":
                    $result .= ($time["hours"] < 12) ? "am" : "pm";
                    break;
                case "A":
                    $result .= ($time["hours"] < 12) ? "AM" : "PM";
                    break;
            }
        } else {
            $result .= date($format[$i], $timestamp);
        }
    }
    return $result;
}

八、phpsort函數

phpsort函數用于對數組進行排序,默認是按照值進行排序。可以指定排序算法和自定義排序方法。


/**
 * 對數組進行排序
 * @param array $array 待排序數組
 * @param int $flags 排序算法/降序還是升序
 * @param callable|null $callback 自定義排序方法
 * @return bool
 */
function sort(array &$array, int $flags = SORT_REGULAR, callable $callback = null): bool {
    if ($callback !== null) {
        usort($array, $callback);
    } else {
        switch ($flags) {
            case SORT_ASC:
                return asort($array);
            case SORT_DESC:
                return arsort($array);
            case SORT_NUMERIC:
                return sort($array, SORT_NUMERIC);
            case SORT_STRING:
                return sort($array, SORT_STRING);
            case SORT_LOCALE_STRING:
                return sort($array, SORT_LOCALE_STRING);
            case SORT_NATURAL:
                return natsort($array);
            case SORT_FLAG_CASE:
                return natcasesort($array);
            default:
                return sort($array, $flags);
        }
    }
    return true;
}

九、phpfopen函數

phpfopen函數用于打開文件或URL,并返回句柄。可用于讀取、寫入、追加和創建文件。


/**
 * 打開文件并返回句柄
 * @param string $filename 文件路徑
 * @param string|null $mode 打開模式
 * @param bool $use_include_path 是否使用搜索路徑
 * @param resource|null $context 上下文參數
 * @return bool|resource
 */
function fopen($filename, $mode = "r", $use_include_path = false, $context = null) {
    $access = substr($mode, 0, 1);
    switch ($access) {
        case "r":
            $perm = "rb";
            break;
        case "w":
            $perm = "wb";
            break;
        case "a":
            $perm = "ab";
            break;
        default:
            $perm = "r";
            break;
    }
    if ($context === null)
        $handle = @fopen($filename, $perm, $use_include_path);
    else
        $handle = @fopen($filename, $perm, $use_include_path, $context);
    return $handle;
}

結語

在本文中,我們詳細介紹了php ceil 函數,以及和其相關的php函數slice、phpreplace、phpinfo、phppos、phpmap、phpdate、phpsort和phpfopen等函數,并且給出了這些函數的具體實現代碼。掌握了這些函數的使用方法,可以在實際開發中更好的應對各種問題。

tags: bflops
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 两个人看的www视频免费完整版| 高清破外女出血视频| 80s国产成年女人毛片| 久久国产乱子伦免费精品| 亚洲永久精品ww47| 国产伦精品一区二区三区免费下载| 日本bbw搡bbbb搡bbbb| 国产成在线观看免费视频| 紧身短裙女教师波多野| 美国一级片免费| 欧美一区二区三区久久久人妖| 国产剧果冻传媒星空在线播放| 中文字幕校园春色| 一嫁三夫电影免费观看| 中文字幕精品视频在线| 国产成人免费网站| 国产剧情在线视频| 里番库全彩本子彩色h琉璃| 在线观看网站禁入口不用下载| 欧美aaaaaaaa| 小情侣高清国产在线播放| 亚洲欧美日韩精品久久亚洲区| 亚洲成av人影片在线观看| 性欧美黑人巨大videos| 久久国产免费观看精品3| 极度另类极品另类| 波多野结衣护士无删减| 伊人色综合久久天天| 亚洲一级毛片免费观看| 国产精品自产拍在线观看| 一边摸一边叫床一边爽| 国产激情电影综合在线看| 美女隐私免费视频看| 日本天堂视频在线观看| 女人扒开裤子让男人捅| 久久伊人免费视频| 大陆老太交xxxxⅹhd| 日本大片免a费观看在线| 亚洲欧美精品伊人久久| 特极毛片| 国产综合色在线视频区|