字符串和数组常用函数的汇总

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<?php
   //php中字符串操作函数的回顾
   
   //查询一个字符串在另个字符串中出现的问题
   
   $strA="esdnxzlkcsnknlkfnjsernvszlkdfngflkdnldsnalsdnakjdnbkjbvakkcs";
   
   $strB='dn';
   
   $stc=strrpos($strA,$strB); //strpos后面可以跟三个参数,其中最后的一个参数是可选项,用来表示计算的起始位置:
 
   echo $stc."<br />";
   
   //字符串的截取函数,并返回截取后的字符串
   
   $strc=substr($strA,5,5);  //该函数表示的是冲第五个字符开始截取$strA,截取的长度是5
   
   echo $strc."<br />";
   
   $strc=strstr($strA,"Kcs",true);  //从字符串$strA中截取字符串,开始的位置是“kcs”  ,第三个参数是可选参数,表示的正向截取和反向截取。函数自身是区分大小写的,如果不限定的话 最好i;
   
   //字符串的替换函数
   
   $strc=str_replace("kcs","aaa",$strA); //区分大小写的替换;  该方法可以用来去掉字符串中出现的空格
   
   $strc=str_ireplace("ksc","aaa",$strA);  //不区分大小写的替换;
   
   $strc=strtr($strA,"ksc","bbb") ;  //该方法的使用方法是str_replace相差的不大,唯一的区别就是bbb这里的参数不能为空,这里的替换都是完全的替换
     
   echo $strc;
   
   //字符串的比较函数
   
   $strD = strcmp($strA,$strB);   //用来比较两个字符串的大小,如果两个字符串相等则为0,如果是大于则wei 1,小于的话返回的是-1,比较的仅仅是第一个字符
   
   echo $strD;
   
   //取代字符串两端的空格的炒作
   
   trim();
   
   //在字符串中插入空格,或则其他字符的函数
   
   chunk_split();
   
   //字符串装换成数组的操作
   
   str_split();//根据字符的长度进行切割
   
   split();//根据字符进行切割
   
   explode();//根据字符进行切割
   
   //数组的常用的函数
   
   array_values();   //提取数组中所有的键值
   
   array_keys() ;   //提取数组中的所有的键名
   
   array_flip();    //该函数是将数组中的键名和键值进行了对换,如果出现了重复,将会被后面的给替换掉;
   
   in_array("search",$strA);   //判断数组中时候存在要查找的键值,如果存在则返回1,否则的返回0;
   
   array_search() ; //用来搜索数组中是否存在你要查询的键值,如果存在则放回对应的键名;
   
   array_key_exists() ;//用来查找某个键名是否存在数组中;
   
   isset($arr['a']);  //判断是否设定该键名
   
   //数组的指针函数
   
   current() ;//  返回数组当前指针所对象的键值
   
   key();   //返回数组当前指针所指的键名
   
   pos();   //功能和current功能相同
   
   prev();  //将数组的指针往回跳转一个
   
   next();  //指针指向下一个
   
   each();  //将当前的指针对应的元素转成一个新的数组,并将指针指向下一位
   
   end(); //指针指向最后一位;
   
   reset();// 指针指向第一位
   
   list($key,$value)=each($arr); //获得数组当前元素的键名和值
   
   //数组和变量之间的转换
   
    extract();  //这个函数比较牛逼,是将数组转键名为变量,键值为变量对应的值的一系列的变量;
    
    compact();  //将给定的变量转成对一个数组
    
    //数组和字符串之间的相互的转换
    
    explode();//该函数是张字段分割成字符串
    
    implode();//该方式是将数组转成字符创
    
    //数组的填充和分割
      
    //数组的分段
        
        array_slice($strA,0,3);  //将一段数组从$strA中取出来,此函数忽略了键名;
        
        array_slice($strA,0,3,array('black',"maroon"));//将数组中的一段去除,与上个函数不同的是,返回的序列将会从原来的数组中删除
        
        array_chunk($strA,2,true) ;//该函数的意思是将指定的数组划分中两块,并且保留原有的键名。如果不需要保留的话,使用false
        
    //数组的填充
        
        array_pad($strA,5,"x") ;//如果数组的长度不够5位,值剩下的几位将会用x来进行填充
        
    //数组与栈
    
       array_push();    //在数组的尾部添加一个或则多个成员
    
       array_pop();     //在数组的尾部删除一个成员
    
       array_shift();   //在头部删除一个删除
    
       array_unshift(); //在数组头部插入一个成员
       
  //回调函数
 
  array_walk($arr,'function','words') ;//使用用户函数对数组中的每一个成语进行梳理(第三个参数传递给回调函数function)
 
  array_mpa('function',$arr1,$arr2);//可以处理多个数组(当使用两个或更多数组时,他们的长度应该相同);
 
  array_filter($arr,"function") ;//使用回调函数过滤数组中的每一个元素,如果回调函数为TRUE,数组的当前元素会被包含在返回的结果数组中,数组的键名保留不变 。《功能很强大》,相当于是对数组中的每一个成员进行了过滤;
 
  array_reduce($arr,"function","*"); //转化为单值函数(*为数组的第一个值)
 
 
  //数组中的排序
 
  sort($arr);//   由小到大的顺序排序(第二个参数为按什么方式排序)忽略键名的数组排序
 
  rsort($arr) ;  //由大到小的顺序排序(第二个参数为按照什么方式排序)忽略键名的数组排序
 
  usort($arr,"function") ; //使用用户自定义的比较行数对数组中的值进行排序(function中有两个参数,0表示相等,整数表示第一个大于第二个,负数表示第一个小于第二个),忽略键名的数组排序
 
  asort($arr); //由小到大的顺序排序(第二个参数为按什么方式排序)保留键名的数组排序
 
  arsort($arr);//y由大到小的顺序排序(第二个参数为按照什么方式排序)保留键名的数组排序
 
  uasort($arr,"function"); //使用用户的自定义的比较函数对数组中的值进行排序(function中有两个参数0表示相等,正数表示第一个大于第二个,负数表示第一个小于第二个)保留键名的数组排序
 
  //通过键名对数组进行排序
 
  ksort($arr) ;   //按照键名正序排序
 
  krsort($arr) ;  //按照键名逆序排序
 
  uksort($arr,"function") ; //使用用户自定义的比较函数对数组中的键名进行排序(function中有两个参数,0表示相等,正数表示第一个大于第二个,负数表示第一个小于第二个)
 
  //自然排序法排序
 
  natsort($arr) ; //自然排序(忽略键名)
 
  natcasesort($arr) ; //自然排序(忽略大小写,忽略键名)
 
 
  //数组的计算
 
  array_sum($arr);  //对数组内部所有的元素求和运算
 
  //数组的合兵
 
  array_merge($arr1,$arr2); //合兵两个或则多个数组相同的字符串键名,后面的覆盖前面的,相同的数字键名,后面的不会做覆盖操作,而是附加到后面)
   
 
  //数组的差集
 
  array_diff($arr1,$arr2) ; //返回差集结果数组
 
  array_diff_assoc($arr1,$arr2) ;//返回差集结果数组,键名也做比较
 
  //数组的交集
 
  array_intersect(); //返回交集结果数组
 
  array_intersect_assoc(); //返回交集结果数组,键名也做比较;
 
  //其他的数组函数
 
  range(0,12);//创建一个包含指定范围单元的数组
 
  array_unique();  //移除重复的值,新的数组保留原始的键名
 
  array_reverse();//返回一个单元顺序与原数组相反的数组,如果第二个参数为TRUE保留原来的键名
//srand((float)microtime()*10000000);   随机种子触发器
 
  array_rand($arr,2);  //从数组中随机取出一个或 多个元素
 
  shuffle($arr); // 将数组的顺序打乱
 
?>
</body>
</html>

posted @ 2014-10-18 16:18  牵着狗狗去看海  阅读(483)  评论(0编辑  收藏  举报