php 常用函数

环境:php 5.6

1、常用字符串函数:

// 输出字符串
  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 

2、常用数组函数

     $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"
			}

    */

  

3、常用时间函数

// 设置默认时区
  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

 4、常用数值处理函数

 

ceil:
       返回不小于 value 的下一个整数, 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大 .
floor:
        返回不大于 value 的下一个整数,将 value 的小数部分舍去取整。floor() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。
round:

        返回将 val 根据指定精度precision(十进制小数点后数字的数目)进行四舍五入的结果。

intval:   int intval ( mixed $var [, int $base = 10 ] )

       通过使用指定的进制 base 转换(默认是十进制),返回变量 var 的 integer 数值。 intval() 不能用于 object,否则会产生 E_NOTICE 错误并返回 1。

 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

  

   

 

posted @ 2015-12-25 18:12  Rhythmk  阅读(351)  评论(2编辑  收藏  举报
Rhythmk 个人笔记