環境:php 5.6php
一、經常使用字符串函數:html
// 輸出字符串 echo "str1","str2\r"; //str1str2 // 只格式化,返回 12 不輸出。 sprintf('%d',12.54); // 格式化,並打印結果 printf('%d',12.54); // 12 // 只打印結果 print(12.54); // 打印結果 print_r(['a'=>1,'b'=>2]); // 計算字符傳長度 漢字佔3個長度位 strlen('abcd您'); // 輸出7 // 將字符串分割成數組 $arr=explode(',', 'a,b,c'); /* array(3) { [0] => string(1) "a" [1] => string(1) "b" [2] => string(1) "c" } **/ // 將數組合併成字符串 implode(',', $arr); // string(5) "a,b,c" // 去掉左邊字符串 ltrim(' abc '); // string(4) "abc " // 去掉右邊的空字符 rtrim(' abc ') ; // string(5) " abc" // 去掉兩端空字符 trim(' abc ','1'); // string(3) "abc" // 從指定位置截取字符串 substr('abcdefg',2); // cdefg // 從指定位置截取定長字符串 ,指定長度若是超過剩餘字符串長度不拋出異常 substr('abcdefg',2,3); //cdefg // 截取定長字符串 指定起始位置爲負數 則從字符串末尾開始截取 substr('abcdefg',-3,2); // ef // 替換指定字符串,區分大小寫 str_replace('b', '0', 'abcBabc'); //a0cBa0c // 替換指定字符串,區分大小寫 str_ireplace('b', '0', 'abcBabc'); //a0c0a0c // 轉換大寫 strtoupper('abCD'); //ABCD // 轉換小寫 strtolower('abCD');//abcd // 將字符串第一個字母轉換成大寫 ucfirst('abcd'); //Abcd // 編碼HTML 標記 htmlentities('<br/>'); // <br/> //返回第二個參數字符串在第一個字符串裏出現的次數 echo substr_count('abcabc', 'ab'); //2 //返回參數2字符串 在參數1字符串 第一次出現的位置 ,參數1字符位置算0 strpos('abcabcbac', 'c'); //2 //返回參數2字符串 在參數1字符串 最後一次出現的位置 ,參數1字符位置算0 strrpos('abcabcabc', 'c'); //8 // 從第一次出現參數2中的字符串開始截取。 strstr('abcdeabcdeabcd', 'bc'); //bcdeabcdeabcd //截取參數1,最後一次出現的參數2的字符串 strrchr('abcdeabcdeabcd', 'bc'); //bcd
二、經常使用數組函數數組
$arr=['a'=>'apple','b'=>'blank','c'=>'cat','d'=>'door']; // 輸出數組數據項數 count($arr); // sizeof 爲 count函數 別名 sizeof($arr); // 獲取數組的key 集合 array_keys($arr); /* array(4) { [0] => string(1) "a" [1] => string(1) "b" [2] => string(1) "c" [3] => string(1) "d" } */ //獲取數組的數值集合 array_values($arr); /* array(4) { [0] => string(5) "apple" [1] => string(5) "blank" [2] => string(3) "cat" [3] => string(4) "door" } */ // 判斷數組中是否存在參數1值的key array_key_exists('a', $arr); //bool(true) // 判斷是否存在某元素值 in_array('rhythmk', $arr); // bool(false) // 返回一個有參數1 做爲key 參數2做爲 value 的新數組 array_combine(['a','b','c'], ['a1','a2','a3']); /* array(3) { 'a' => string(2) "a1" 'b' => string(2) "a2" 'c' => string(2) "a3" } */ // 合併參數1 跟參數2的數組,若是key相同 ,則以數組2中key對應的數值爲準 array_merge(['a'=>'a1','b'=>'b1'], ['b'=>'b2','c'=>'c1']); /* array(3) { 'a' => string(2) "a1" 'b' => string(2) "b2" 'c' => string(2) "c1" } */ function doubleStr($value) { return $value.$value; } // 將用戶定義的函數做用到數組的值上 array_map( 'doubleStr', $arr); /* array(4) { 'a' => string(10) "appleapple" 'b' => string(10) "blankblank" 'c' => string(6) "catcat" 'd' => string(8) "doordoor" } */ $arr2=[]; // 向數組尾部插入一個或者多個值 array_push($arr2, ['b'=>'b1']); array_push($arr2, ['c'=>'c1']); /* array(2) { [0] => array(1) { 'b' => string(2) "b1" } [1] => array(1) { 'c' => string(2) "c1" } } */ // 返回數值尾部的項,並將該項移除數組 array_pop($arr2); /* array(1) { [0] => array(1) { 'b' => string(2) "b1" } } */ // 刪除數組第一個元素,同時返回刪除的元素 array_shift($arr); //在數組第一個元素前面插入一個或者多個元素 array_unshift($arr, 'top'); /* array(4) { [0] => string(3) "top" 'b' => string(5) "blank" 'c' => string(3) "cat" 'd' => string(4) "door" } */ // 根據數組的key值,對數組進行排序。 SORT_DESC |SORT_ASC; array_multisort($arr,SORT_DESC); /* array(4) { 'd' => string(4) "door" 'c' => string(3) "cat" 'b' => string(5) "blank" 'a' => string(5) "apple" } */ // 查詢參數2數組中值等於參數1的數組項對應的key array_search('cat', $arr); //string(1) "c" // 刪除中數組值相同的元素,優先刪除後面元素 array_unique(['a'=>'a1','b'=>'b1','c'=>'a1']); /* array(2) { 'a' => string(2) "a1" 'b' => string(2) "b1" } */
三、經常使用時間函數app
// 設置默認時區 date_default_timezone_set('PRC'); // 按24時格式返回當前時間 date('Y-m-d H:i:s'); //string(19) "2015-12-27 14:01:00" // 按12時格式返回當前時間 date('Y-m-d h:i:s'); //2015-12-27 02:04:57 date('Y-m-d'); //2015-12-27 // 返回自從 Unix 紀元(格林威治時間 1970 年 1 月 1 日 00:00:00)到當前時間的秒數。 $now= time(); //int(1451196388) //明天此時 $tomorow=time()+1*24*60*60; date('Y-m-d H:i:s',$tomorow); //string(19) "2015-12-28 14:13:26" // strtotime 函數將任何英文文本的日期時間描述解析爲 Unix 時間戳。 // 返回當前時間戳 等同於 time(); strtotime('now'); // 當前時間 + 5小時 echo(strtotime("+5 hours").'|'.(time()+5*60*60)); // 1451215211|1451215211 // 當前時間 + 1 天 echo(strtotime("+1 days").'|'.(time()+24*60*60)); // 1451283611|1451283611 // 當前時間 + 1 周 echo(strtotime("+1 week").'|'.(time()+7*24*60*60)); //1451802011|1451802011
四、經常使用數值處理函數函數
ceil:
返回不小於 value 的下一個整數, 返回的類型仍然是 float,由於 float 值的範圍一般比 integer 要大 .
floor:
返回不大於 value 的下一個整數,將 value 的小數部分捨去取整。floor() 返回的類型仍然是 float,由於 float 值的範圍一般比 integer 要大。
round: 編碼
返回將 val 根據指定精度precision(十進制小數點後數字的數目)進行四捨五入的結果。spa
intval: int intval ( mixed $var
[, int $base
= 10 ] ).net
經過使用指定的進制 base
轉換(默認是十進制),返回變量 var
的 integer 數值。 intval() 不能用於 object,不然會產生 E_NOTICE
錯誤並返回 1。code
echo ceil(-1.2); // -1 echo intval(-1.2); // -1 echo floor(-1.2); // -2 echo ceil(1.2); // 2 echo intval(1.8); // 1 echo floor(1.2); // 1 // 根據小數點第一位進行四捨五入 echo round(123456.45345); // 123456 // 保留小數點後3位,根據小數點後第4位進行四捨五入 echo round(123456.12345,3); // 123456.123 // 根據小數點前面第3位,進行四捨五入 echo round(123556.12345,-3); // 124000 echo intval(42); // 42 echo intval(4.2); // 4 echo intval('42'); // 42 echo intval('+42'); // 42 echo intval('-42'); // -42 echo intval(042); // 34 echo intval('042'); // 42 echo intval(1e10); // 1410065408 echo intval('1e10'); // 1 echo intval(0x1A); // 26 echo intval(42000000); // 42000000 echo intval(420000000000000000000); // 0 echo intval('420000000000000000000'); // 2147483647 echo intval(42, 8); // 42 echo intval('42', 8); // 34