美文网首页
php-还是手记

php-还是手记

作者: 5号船长 | 来源:发表于2018-11-07 18:13 被阅读14次
    1.sprintf

    sprintf — 返回一个格式化的字符串

    string sprintf ( string $format [, [mixed] $args [, [mixed] $...`]] )
    返回格式化后的字符串
    
    Example:
    <?php
    $num = 5;
    $location = 'tree';
    $format = 'There are %d monkeys in the %s';
    echo sprintf($format, $num, $location);
    ?>
    
    返回结果为:
    There are 5 monkeys in the tree
    
    2.count

    count — 计算数组中的单元数目,或对象中的属性个数

    int count ( mixed $array_or_countable [, int $mode = COUNT_NORMAL ] )
    统计出数组里的所有元素的数量,或者对象里的东西。
    
    Example:
    <?php
    $a[0] = 1;
    $a[1] = 3;
    $a[2] = 5;
    var_dump(count($a));
    
    $b[0]  = 7;
    $b[5]  = 9;
    $b[10] = 11;
    var_dump(count($b));
    var_dump(count(null));
    var_dump(count(false));
    ?>
    
    返回结果为:
    int(3)
    int(3)
    int(0)
    int(1)
    
    3.json_encode

    json_encode — 对变量进行 JSON 编码

    string json_encode ( mixed $value [, int $options = 0 [, int $depth = 512 ]] )
    返回字符串,包含了 value 值 JSON 形式的表示。
    编码受传入的 options 参数影响.
    
    Example:
    <?php
    $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
    echo json_encode($arr);
    ?>
    
    返回结果为:
    {"a":1,"b":2,"c":3,"d":4,"e":5}
    
    4.mt_rand

    mt_rand — 生成更好的随机数

    int mt_rand ( void )
    int mt_rand ( int $min , int $max )
    min:可选的,返回的最小值,默认为0
    max:可选的,返回的最大值
    返回min到max之间的随机整数
    
    Example:
    <?php
    echo mt_rand() . "\n";
    echo mt_rand() . "\n";
    echo mt_rand(5, 15);
    ?>
    
    返回结果为:
    1604716014
    1478613278
    6
    
    5.uniqid

    uniqid — 生成一个唯一ID

    string uniqid ([ string $prefix = "" [, bool $more_entropy = false ]] )
    获取一个带前缀、基于当前时间微秒数的唯一ID。
    
    Example:
    <?php
    printf("uniqid(): %s\r\n", uniqid());
    printf("uniqid('php_'): %s\r\n", uniqid('php_'));
    printf("uniqid('', true): %s\r\n", uniqid('', true));
    ?>
    
    6.substr

    substr — 返回字符串的子串

    string substr ( string $string , int $start [, int $length ] )
    返回字符串 string 由 start 和 length 参数指定的子字符串。
    
    Example:
    <?php
    $rest = substr("abcdef", -1);    // 返回 "f"
    $rest = substr("abcdef", -2);    // 返回 "ef"
    $rest = substr("abcdef", -3, 1); // 返回 "d"
    ?>
    
    7.is_numeric

    is_numeric — 检测变量是否为数字或数字字符串

    bool is_numeric ( mixed $var )
    如果 var 是数字和数字字符串则返回 TRUE,否则返回 FALSE。
    
    <?php 
    function get_numeric($val) { 
      if (is_numeric($val)) { 
        return $val + 0; 
      } 
      return 0; 
    } 
    ?> 
    
    Example: 
    <?php 
    get_numeric('3'); // int(3) 
    get_numeric('1.2'); // float(1.2) 
    get_numeric('3.0'); // float(3) 
    ?>
    
    8.time

    time — 返回当前的 Unix 时间戳

    int time ( void )
    返回自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数。
    
    Example:
    <?php
    $nextWeek = time() + (7 * 24 * 60 * 60);  // 7 days; 24 hours; 60 mins; 60 secs
    echo 'Now:       '. date('Y-m-d') ."\n";
    echo 'Next Week: '. date('Y-m-d', $nextWeek) ."\n";
    echo 'Next Week: '. date('Y-m-d', strtotime('+1 week')) ."\n";
    ?>
    
    返回结果为:
    Now:       2005-03-30
    Next Week: 2005-04-06
    Next Week: 2005-04-06
    
    9.http_build_query

    http_build_query — 生成 URL-encode 之后的请求字符串

    string http_build_query ( mixed $query_data [, string $numeric_prefix [, string $arg_separator [, int $enc_type = PHP_QUERY_RFC1738 ]]] )
    使用给出的关联(或下标)数组生成一个经过 URL-encode 的请求字符串。
    
    Example:
    <?php
    $data = array('foo'=>'bar',
                  'baz'=>'boom',
                  'cow'=>'milk',
                  'php'=>'hypertext processor');
    echo http_build_query($data) . "\n";
    echo http_build_query($data, '', '&amp;');
    ?>
    
    返回结果为:
    foo=bar&baz=boom&cow=milk&php=hypertext+processor
    foo=bar&amp;baz=boom&amp;cow=milk&amp;php=hypertext+processor
    
    10. curl_init

    curl_init — 初始化 cURL 会话

    resource curl_init ([ string $url = NULL ] )
    初始化新的会话,返回 cURL 句柄
    
    Example:
    <?php
    // 创建一个新cURL资源
    $ch = curl_init();
    
    // 设置URL和相应的选项
    curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
    curl_setopt($ch, CURLOPT_HEADER, 0);
    
    // 抓取URL并把它传递给浏览器
    curl_exec($ch);
    
    // 关闭cURL资源,并且释放系统资源
    curl_close($ch);
    ?>
    
    11.curl_setopt

    curl_setopt — 设置 cURL 传输选项

    curl_setopt($ch, CURLOPT_URL, 'http://localhost/upload.php');
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    
    12. curl_exec

    curl_exec — 执行 cURL 会话

    mixed curl_exec ( resource $ch )
    执行给定的 cURL 会话。
    这个函数应该在初始化一个 cURL 会话并且全部的选项都被设置后被调用。
    
    参数ch是由curl_init()返回的句柄。
    
    13.curl_close

    curl_close — 关闭 cURL 会话

    void curl_close ( resource $ch )
    关闭 cURL 会话并且释放所有资源。cURL 句柄 ch 也会被删除。
    
    参数ch由curl_init()返回的cURL句柄。
    
    14.strlen

    strlen — 获取字符串长度

    int strlen ( string $string )
    返回给定的字符串 string 的长度。
    
    Example:
    <?php
    $str = 'abcdef';
    echo strlen($str); // 6
    $str = ' ab cd ';
    echo strlen($str); // 7
    ?>
    
    15.function_exists

    function_exists — 如果给定的函数已经被定义就返回 TRUE

    bool function_exists ( string $function_name )
    在已经定义的函数列表(包括系统自带的函数和用户自定义的函数)中查找 function_name。
    function_name:函数名必须为一个字符串
    
    Example:
    <?php
    if (function_exists('imap_open')) {
        echo "IMAP functions are available.<br />\n";
    } else {
        echo "IMAP functions are not available.<br />\n";
    }
    ?>
    
    16.header

    header — 发送原生 HTTP 头

    void header ( string $string [, bool $replace = true [, int $http_response_code ]] )
    header() 用于发送原生的 HTTP 头。
    请注意 header() 必须在任何实际输出之前调用,不管是普通的 HTML 标签,还是文件或 PHP 输出的空行,空格。
    在通过include, require,或者其访问其他文件里面的函数的时候,如果在header()被调用之前,其中有空格或者空行。 同样的问题也存在于单独的 PHP/HTML 文件中。
    
    Example:
    <?php
    header('WWW-Authenticate: Negotiate');
    header('WWW-Authenticate: NTLM', false);
    ?>
    
    <?php
    header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
    header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
    ?>
    
    17.explode

    explode — 使用一个字符串分割另一个字符串

    array explode ( string $delimiter , string $string [, int $limit ] )
    此函数返回由字符串组成的数组,每个元素都是 string 的一个子串,它们被字符串 delimiter 作为边界点分割出来。
    
    Example:
    <?php
    $pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
    $pieces = explode(" ", $pizza);
    echo $pieces[0]; // piece1
    echo $pieces[1]; // piece2
    
    $data = "foo:*:1023:1000::/home/foo:/bin/sh";
    list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
    echo $user; // foo
    echo $pass; // *
    ?>
    
    18.str_replace

    str_replace — 子字符串替换

    mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )
    该函数返回一个字符串或者数组。该字符串或数组是将 subject 中全部的 search 都被 replace 替换之后的结果。
    
    19.number_format

    number_format — 以千位分隔符方式格式化一个数字

    string number_format ( float $number [, int $decimals = 0 ] )
    string number_format ( float $number , int $decimals = 0 , string $dec_point = "." , string $thousands_sep = "," )
    本函数可以接受1个、2个或者4个参数(注意:不能是3个):
    如果只提供第一个参数,number的小数部分会被去掉 并且每个千位分隔符都是英文小写逗号","
    如果提供两个参数,number将保留小数点后的位数到你设定的值,其余同楼上
    如果提供了四个参数,number将保留decimals个长度的小数部分, 小数点被替换为dec_point,千位分隔符替换为thousands_sep.
    
    Example:
    <?php
    $number = 1234.56;
    $english_format_number = number_format($number);
    // 1,235
    // French notation
    $nombre_format_francais = number_format($number, 2, ',', ' ');
    // 1 234,56
    $number = 1234.5678;
    $english_format_number = number_format($number, 2, '.', '');
    // 1234.57
    ?>
    
    20.mb_substr

    mb_substr — 获取部分字符串

    string mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] )
    根据字符数执行一个多字节安全的 substr() 操作。 位置是从 str 的开始位置进行计数。 第一个字符的位置是 0。第二个字符的位置是 1,以此类推。
    
    Example:
    <?php
    mb_internal_encoding("UTF-8");
    $string = "0123456789";
    $mystring = mb_substr($string,5,1);
    echo $mystring;
    ?>
    
    21.json_last_error

    json_last_error — 返回最后发生的错误

    int json_last_error ( void )
    如果有,返回 JSON 编码解码时最后发生的错误。
    
    Example:
    <?php
    // 一个有效的 json 字符串
    $json[] = '{"Organization": "PHP Documentation Team"}';
    
    // 一个无效的 json 字符串会导致一个语法错误,在这个例子里我们使用 ' 代替了 " 作为引号
    $json[] = "{'Organization': 'PHP Documentation Team'}";
    
    foreach ($json as $string) {
        echo 'Decoding: ' . $string;
        json_decode($string);
    
        switch (json_last_error()) {
            case JSON_ERROR_NONE:
                echo ' - No errors';
            break;
            case JSON_ERROR_DEPTH:
                echo ' - Maximum stack depth exceeded';
            break;
            case JSON_ERROR_STATE_MISMATCH:
                echo ' - Underflow or the modes mismatch';
            break;
            case JSON_ERROR_CTRL_CHAR:
                echo ' - Unexpected control character found';
            break;
            case JSON_ERROR_SYNTAX:
                echo ' - Syntax error, malformed JSON';
            break;
            case JSON_ERROR_UTF8:
                echo ' - Malformed UTF-8 characters, possibly incorrectly encoded';
            break;
            default:
                echo ' - Unknown error';
            break;
        }
        echo PHP_EOL;
    }
    ?>
    
    返回结果为:
    Decoding: {"Organization": "PHP Documentation Team"} - No errors
    Decoding: {'Organization': 'PHP Documentation Team'} - Syntax error, malformed JSON
    
    22.random_bytes

    random_bytes - 生成加密安全的伪随机字节

    string random_bytes (int $length )
    生成适合加密使用的任意长度的加密随机字节串,例如生成盐,键或初始化向量时。
    
    length: 应以字节为单位返回的随机字符串的长度。
    返回值:返回包含所请求的加密安全随机字节数的字符串。
    
    Example:
    <?php
    $bytes = random_bytes(5);
    var_dump(bin2hex($bytes));
    ?>
    
    返回值为:
    string(10)“385e33f741”
    
    23.mb_strlen

    mb_strlen — 获取字符串的长度

    mixed mb_strlen ( string $str [, string `$encoding` = mb_internal_encoding() ] )
    获取一个string的长度
    
    str: 要检查长度的字符串
    encoding: encoding参数为字符编码,如果省略,则使用内部字符编码。
    
    24. openssl_encrypt

    openssl_encrypt — 加密数据

    string openssl_encrypt ( string $data , string $method , string $key [, int $options = 0 [, string $iv = "" [, string &$tag = NULL [, string $aad = "" [, int $tag_length = 16 ]]]]] )
    以指定的方式和 key 加密数据,返回原始或 base64 编码后的字符串。
    
    25.base64_encode

    base64_encode — 使用 MIME base64 对数据进行编码

    string base64_encode ( string $data )
    使用 base64 对 data 进行编码。
    
    Example:
    <?php
    $str = 'This is an encoded string';
    echo base64_encode($str);
    ?>
    
    返回结果为:
    VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==
    
    26.hash_hmac

    hash_hmac — 使用 HMAC 方法生成带有密钥的哈希值

    string hash_hmac ( string $algo , string $data , string $key [, bool $raw_output = FALSE ] )
    
    Example:
    <?php
    echo hash_hmac('ripemd160', 'The quick brown fox jumped over the lazy dog.', 'secret');
    ?>
    
    返回结果为:
    b8e7ae12510bdfb1812e463a7f086122cf37e4f7
    
    27.hash_equals

    hash_equals — 可防止时序攻击的字符串比较

    bool hash_equals ( string $known_string , string $user_string )
    比较两个字符串,无论它们是否相等,本函数的时间消耗是恒定的。
    本函数可以用在需要防止时序攻击的字符串比较场景中.
    
    Example:
    <?php
    $expected  = crypt('12345', '$2a$07$usesomesillystringforsalt$');
    $correct   = crypt('12345', '$2a$07$usesomesillystringforsalt$');
    $incorrect = crypt('apple',  '$2a$07$usesomesillystringforsalt$');
    
    var_dump(hash_equals($expected, $correct));
    var_dump(hash_equals($expected, $incorrect));
    ?>
    
    返回结果为:
    bool(true)
    bool(false)
    
    总结

    工作中常用到的函数,摘录于php官方手册!以备不时之需。

    相关文章

      网友评论

          本文标题:php-还是手记

          本文链接:https://www.haomeiwen.com/subject/hmemxqtx.html