php的字符串处理总结,php字符串处理函数总结
字符串的比較函數: 字符串按照字節比較 strcmp() /不區分大小寫的 strcasecmp() 字符串按照自然排序法的比較 strnatcmp() /不區分大小寫的 strnatcasecmp() 字符串的模糊比較 soundex() 字符串的查找函數: strchr() = strstr() //根據查找的字符串查找出并顯示出來 stristr() //和上面的函數功能一樣,只是不區分大小寫 strrchr() //和上面函數差不多只是把把最后一次的輸出來 $email ?= 'name@example@.com'; $domain = strstr($email, '@'); echo $domain; // prints @example.com $domain = strrchr($email, '@'); echo $domain; // prints @.com 字符串查找的返回位置的函數: strpos() //查找字符串并返回字符串所在的位置 stripos() //查找字符串并返回字符串所在的位置只是不區分大小寫 strrpos() //查找字符串并返回最后一次出現的位置 strripos() //查找字符串并返回最后一次出現的位置只是不區分大小寫 字符串和數組的操作: 字符串轉數組 explode(); 數組轉字符串 implode(); 序列化數組和反序列化: serialize(); //序列化數組 unserialize(); //反序列化數組 字符串的長度計算: strlen(); //計算字符串的長度 mb_strlen(); //可以正確計算漢字的長度 iconv_strlen(); //可以正確計算漢字的長度 字符串的截取: substr(); //截取字符串從什么位置到什么位置 mb_substr(); //截取字符串從什么位置到什么位置,可以正確截取漢字 iconv_substr(); //截取字符串從什么位置到什么位置,可以正確截取漢字 mb_strcut(); //截取漢字 字符串的反轉: strrev(); //字符串的反轉 //反轉中文字符和特殊字符 $str = "中國北京&*&**(uuu "; $result = ""; $legth = mb_strlen($str, "utf8"); for ($i=$legth-1; $i>=0; $i--) { $result .= mb_substr($str, $i, 1, "utf8"); } 計算字符串在大的字符串中出現的次數: substr_count(); //計算英文的 mb_substr_count ?//echo mb_substr_count($str, "翻譯"); 計算漢字的不錯 計算兩個時間差: (strtotime('2009-08-07')-strtotime('2009-08-06'))/86400 isset();//檢測變量是否設置; empty(); //檢測一個變量是否為空 array_pop() //數組出棧, array_push() //數組入棧 數組打亂和字符串打亂: shuffle(); //數組打亂 str_shuffle(); //字符串打亂 字符串的替換(HTML頁面生成): str_replace();//替換 ? str_ireplace();//不區分大小寫替換 ? ? ? ? str_replace("iwind", "kiki", "i love iwind, iwind said"); ? ? ? ? str_replace(array("iwind", "kiki"), "people", "i love kiki, iwind said"); ? ? ? ? str_replace(array("iwind", "kiki"), array("gentle man", "ladies"), "i love kiki, iwind said"); substr_replace(); substr_replace("abcdefgh", "DEF", 3); substr_replace("abcdefgh", "DEF", 3, 2); 字符串的重復輸出: str_repeat(); //echo str_repeat("*", 10); 輸出是個* 字符串的單詞的計算: str_word_count(); //str_word_count($str);寫出單詞有多少個 數組根據需要的查找出組成一個新的字符串 preg_grep();//返回與模式匹配的數組單元 匹配部分是正則表達式 $fl_array = preg_grep ("/^(\d+)?\.\d+$/", $array); GET類經常使用的函數 get_class_methods() // 所有方法 ? ? get_included_files()//返回當前頁所有加載的文件 ? ? get_declared_classes()// 返回當前頁所有class ? ? get_declared_interfaces()// 返回所有的接口 ? ? get_defined_functions()// 返回所有的function ? ? get_defined_vars()// 返回當前頁所有的變量 ? ? get_current_user()// 返回當前用戶 ? ? get_defined_constants()// 返回所有常量 ? ? get_loaded_extensions()// 獲取PHP當前加載的所有擴展get_extension_funcs('xml')// 獲取指定擴展的所有方法列表 數組的全部操作函數 數組的鍵名和值 array_values($arr);獲得數組的值 array_keys($arr);獲得數組的鍵名 array_flip($arr);數組中的值與鍵名互換(如果有重復前面的會被后面的覆蓋) in_array(”apple”,$arr);在數組中檢索apple array_search(”apple”,$arr);在數組中檢索apple ,如果存在返回鍵名 array_key_exists(”apple”,$arr);檢索給定的鍵名是否存在數組中 isset($arr[apple]):檢索給定的鍵名是否存在數組中 is_array($arr);判斷參數是否為數組 數組的內部指針 current($arr);返回數組中的當前單元 pos($arr);返回數組中的當前單元 key($arr);返回數組中當前單元的鍵名 prev($arr);將數組中的內部指針倒回一位 next($arr);將數組中的內部指針向前移動一位 end($arr);將數組中的內部指針指向最后一個單元 reset($arr;將數組中的內部指針指向第一個單元 each($arr);將返回數組當前元素的一個鍵名/值的構造數組,并使數組指針向前移動一位 list($key,$value)=each($arr);獲得數組當前元素的鍵名和值 數組和變量之間的轉換 extract($arr);用于把數組中的元素轉換成變量導入到當前文件中,鍵名當作變量名,值作為變量值 注:(第二個參數很重要,可以看手冊使用)使用方法 echo $a; compact(var1,var2,var3);用給定的變量名創建一個數組 數組的分段 array_slice($arr,0,3);可以將數組中的一段取出,此函數忽略鍵名 array_splice($arr,0,3,array(”black”,”maroon”));可以將數組中的一段取出,與上個函數不同在于返回的序列從原數組中刪除 分割多個數組 array_chunk($arr,3,TRUE);可以將一個數組分割成多個,TRUE為保留原數組的鍵名 數組的填充 array_pad($arr,5,’x');將一個數組填補到制定長度 數組與棧 array_push($arr,”apple”,”pear”);將一個或多個元素壓入數組棧的末尾(入棧),返回入棧元素的個數 array_pop($arr);將數組棧的最后一個元素彈出(出棧) 數組與列隊 array_shift($arr);數組中的第一個元素移出并作為結果返回(數組長度減1,其他元素向前移動一位,數字鍵名改為從零技術,文字鍵名不變) array_unshift($arr,”a”,array(1,2));在數組的開頭插入一個或多個元素 回調函數 array_walk($arr,’function’,'words’);使用用戶函數對數組中的每個成員進行處理(第三個參數傳遞給回調函數function) array_mpa(”function”,$arr1,$arr2);可以處理多個數組(當使用兩個或更多數組時,他們的長度應該相同) array_filter($arr,”function”);使用回調函數過濾數組中的每個元素,如果回調函數為TRUE,數組的當前元素會被包含在返回的結果數組中,數組的鍵名保留不變 array_reduce($arr,”function”,”*”);轉化為單值函數(*為數組的第一個值) 數組的排序 通過元素值對數組排序 sort($arr);由小到大的順序排序(第二個參數為按什么方式排序)忽略鍵名的數組排序 rsort($arr);由大到小的順序排序(第二個參數為按什么方式排序)忽略鍵名的數組排序 asort($arr);由小到大的順序排序(第二個參數為按什么方式排序)保留鍵名的數組排序 arsort($arr);由大到小的順序排序(第二個參數為按什么方式排序)保留鍵名的數組排序 ksort($arr);按照鍵名正序排序 krsort($arr);按照鍵名逆序排序 usort($arr,”function”);使用用戶自定義的比較函數對數組中的值進行排序(function中有兩個參數,0表示相等,正數表示第一個大于第二個,負數表示第一個小于第二個)忽略鍵名的數組排序 uasort($arr,”function”);使用用戶自定義的比較函數對數組中的值進行排序(function中有兩個參數,0表示相等,正數表示第一個大于第二個,負數表示第一個小于第二個)保留鍵名的數組排序 uksort($arr,”function”);使用用戶自定義的比較函數對數組中的鍵名進行排序(function中有兩個參數,0表示相等,正數表示第一個大于第二個,負數表示第一個小于第二個) 自然排序法排序 natsort($arr);自然排序(忽略鍵名) natcasesort($arr);自然排序(忽略大小寫,忽略鍵名) 數組的計算 數組元素的求和 array_sum($arr);對數組內部的所有元素做求和運算 array_protuct($arr);計算數組中所有值的乘積 數組的合并 array_merge($arr1,$arr2);合并兩個或多個數組(相同的字符串鍵名,后面的覆蓋前面的,相同的數字鍵名,后面的不會做覆蓋操作,而是附加到后面) “+”$arr1+$arr2;對于相同的鍵名只保留后一個 array_merge_recursive($arr1,$arr2);遞歸合并操作,如果數組中有相同的字符串鍵名,這些值將被合并到一個數組中去。 如果一個值本身是一個數組,將按照相應的鍵名把它合并為另一個數組。當數組具有相同的數組鍵名時,后一個值將不會覆蓋原來的值,而是附加到后面 數組的差集 array_diff($arr1,$arr2);返回差集結果數組 array_diff_assoc($arr1,$arr2,$arr3);返回差集結果數組,鍵名也做比較 數組的交集 array_intersect($arr1,$arr2);返回交集結果數組 array_intersect_assoc($arr1,$arr2);返回交集結果數組,鍵名也做比較 其他的數組函數 range(0,12);創建一個包含指定范圍單元的數組 array_unique($arr);移除數組中重復的值,新的數組中會保留原始的鍵名 array_reverse($arr,TRUE);返回一個單元順序與原數組相反的數組,如果第二個參數為TRUE保留原來的鍵名 //srand((float)microtime()*10000000); 隨機種子觸發器 array_rand($arr,2);從數組中隨機取出一個或 多個元素 shuffle($arr);將數組的順序打亂 PHP獲取十三位的時間戳 function microtime_float() { ? ? list($usec, $sec) = explode(" ", microtime()); $cc = explode(".",$usec); $new = $sec.substr($cc[1],0,3); return $new; } echo $time_start = microtime_float();
總結
以上是生活随笔為你收集整理的php的字符串处理总结,php字符串处理函数总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle重建控制文件流程,ORACL
- 下一篇: mvc 实例 php,来写一个简单的PH