php 經常使用函數

環境: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
相關文章
相關標籤/搜索