zoukankan      html  css  js  c++  java
  • php 常用函数

    环境:php 5.6

    1、常用字符串函数:

    // 输出字符串
      echo "str1","str2
    ";   //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
    

      

       

  • 相关阅读:
    基于Flume做FTP文件实时同步的windows服务。
    Java代码解决ElasticSearch的Result window is too large问题
    springboot+zuul(二)------智能负载
    springboot+zuul(一)------实现自定义过滤器、动态路由、动态负载。
    Docker 快速安装&搭建 Ngnix 环境,并配置反向代理
    如何通过 Freemark 优雅地生成那些花里胡哨的复杂样式 Excel 文件?
    Elasticserach 同步索引报错:ElasticSearch ClusterBlockException[blocked by: [FORBIDDEN/12/index read-only / allow delete (api)]
    如何通过Gitalk评论插件,5分钟为你的博客快速集成评论功能
    一文教您如何通过 Docker 快速搭建各种测试环境(Mysql, Redis, Elasticsearch, MongoDB) | 建议收藏
    Docker 快速安装&搭建 Mysql 环境
  • 原文地址:https://www.cnblogs.com/rhythmK/p/5076665.html
Copyright © 2011-2022 走看看