php 数组常用函数

PHP数组中常用的函数:

 1.//array_values — 返回数组中所有的值 

 $array = array("name"=>"zhangsan","age"=>"10","sex"=>"man");

  $tem= array_values($array);

  echo "<pre>";
  print_r($tem);
  echo "</pre>";
输出结果如下:

  

2.array_keys — 返回数组中部分的或所有的键名  
$array = array("name"=>"zhangsan","age"=>"10","sex"=>"man");

  $tem= array_keys($array);

  echo "<pre>";
  print_r($tem);
  echo "</pre>";
输出结果如下:

  

3.in_array — 检查数组中是否存在某个值,返回布尔类型(bool)的值  
$array = array("name"=>"zhangsan","age"=>"10","sex"=>"man");

  $tem= in_array("10",$array,false);
  echo "<pre>";
  print_r($tem);
  echo "</pre>";
其中第三个参数默认false,如果存在则返回1,不存在,则没有返回值。如若设置成true,则会检查类型是否相同,相当于“===” 的效果。

4.array_flip — 交换数组中的键和值
$array = array("name"=>"zhangsan","age"=>"10","sex"=>"man");
  $tem= array_flip($array);
  echo "<pre>";
  print_r($tem);
  echo "</pre>";
输出结果如下:
  

这里需要注意$array 中的值需要能够作为合法的键名,例如需要是 integer 或者 string。如果值的类型不对将发出一个警告,并且有问题的键/值对将不会翻转。

如果同一个值出现了多次,则最后一个键名将作为它的值,所有其它的都丢失了。

5.array_reverse — 返回一个单元顺序相反的数组,例如:
$array = array("zhangsan",5,"10","sex"=>"man");
   $tem= array_reverse($array);
   echo "<pre>";
   print_r($tem);
   echo "</pre>";
如图所示:
  注意,如果这里的第二个参数,设置为true,则会保留数字的键。非数字的键则不受这个设置的影响,总是会被保留。例:
 $array = array("zhangsan",5,"10","sex"=>"man");
  $tem= array_reverse($array,true);
  echo "<pre>";
  print_r($tem);
  echo "</pre>";
这里的第二个参数,设置为true,如下图所示:

  

6.count — 计算数组中的单元数目或对象中的属性个数,例如:

$array = array("zhangsan",5,"10","sex"=>"man");
  $tem= count($array);
  echo "<pre>";
  print_r($tem);
  echo "</pre>";
这里的$tem 就是数组的个数,个数为4;

7.array_count_values — 统计数组中所有的值出现的次数,例如:
 $array = array("zhangsan",5,"10","sex"=>"man",5);
  $tem= count($array);
  echo "<pre>";
  print_r($tem);
  echo "</pre>";
如下图所示:  

8.array_unique — 移除数组中重复的值,接受 array 作为输入并返回没有重复值的新数组。 例如:
  $array = array("zhangsan",5,"10","sex"=>"man",5);
  $tem=array_unique ($array);
  echo "<pre>";
  print_r($tem);
  echo "</pre>";
如下图所示:

  

9.array_filter — 用回调函数过滤数组中的单元  ,例如:过滤下面数组中小于3的数组。

  $array = array(1,2,3,4,5);
   //回调函数如下
  function filter($val){
      if($val>3){
          return $val;
      }
  }
  //返回过滤后的数组。
  $tem = array_filter($array,"filter");
  echo "<pre>";
  print_r($tem);
  echo "</pre>";
结果如下图所示:

  

10.array_walk — 使用用户自定义函数对数组中的每个元素做回调处理。成功时返回 TRUE, 或者在失败时返回 FALSE

$array = array(1,2,3,4,5);
//回调函数如下
function walk($val){
    $val=$val*$val;  //没有返回值
}
//使用自定义函数,让每个元素做回调处理
$tem = array_walk($array,"walk");
echo "<pre>";
print_r($tem);
echo "</pre>";

11.array_map — 为数组的每个元素应用回调函数

$array = array(1,2,3,4,5);
//回调函数如下
function map($val){
    $val=$val*$val;
    return $val;//有返回值
}

//使用自定义函数,让每个元素做回调处理并组成一个新的数组
$tem = array_map("map",$array);
echo "<pre>";
print_r($tem);
echo "</pre>";

原来数组还存在,返回一个新的数组,返回结果如下图所示:

这里array_map与array_walk 的区别,array_walk 是使数组里的每个元素做回调处理,不返回值;array_map是使数组里的每个元素做回调处理,并返回一个新的数组。

12.sort — 对数组进行升序排序。sort() 例子

$array = array(10,2,13,4,50);//对数组进行升序排序$tem = sort($array);echo "<pre>";print_r($tem);//函数成功返回值echo "<br>";//遍历出排序后的数组foreach ($array as $key => $val) {    echo "array [" . $key . "] = " . $val . "\n";}

echo "</pre>";
成功时返回 TRUE, 或者在失败时返回 FALSE。 如下图所示:13.rsort — 对数组逆向排序(降序) rsort() 例子
$array = array(10,2,13,4,50);
//对数组进行降序排序
$tem = rsort($array);
echo "<pre>";
print_r($tem);//函数成功返回值
echo "<br>";
//遍历出排序后的数组
foreach ($array as $key => $val) {
    echo "array [" . $key . "] = " . $val . "\n"; } echo "</pre>";
成功时返回 TRUE, 或者在失败时返回 FALSE。 如下图所示:

其他排序方式如下图所示:

14.array_slice — 从数组中取出一段 。array_slice 例子:
$array = array(10,2,13,4,50,15);//截取索引为1开始截取长度为5的数组元素
$tem = array_slice($array,1,5);
echo "<pre>";
print_r($tem);
echo "</pre>";

如下图所示:

15.array_splice — 把数组中的一部分去掉并用其它值取代 。    array_splice 例子

$array = array(1,2,3,4,5);//截取索引为2开始去掉1个长度的数组元素并用元素6来降3取代,注意array_splice的参数不能超过四个,如要添加更多元素,需要建立一个新的数组,将需要添加的元素放进新数组,//再将新数组放入array_splice第四个参数即可
 array_splice($array,2,1,6); echo "<pre>"; print_r($array); echo "</pre>";

结果如下图所示:

16.array_combine —(合并两个数组) 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值 。例子:

//数组1$array = array(1,2,3,4);//数组2
$array2 = array("zhangsan","lisi","wangwu","zhaoli");//合并数组
$tem =array_combine($array,$array2);
echo "<pre>";
print_r($tem);
echo "</pre>";

结果如下图:

17.array_merge — 合并一个或多个数组

//数组1
$array = array(1,2,3,4);
//数组2
$array2 = array("zhangsan","lisi","wangwu","zhaoli");
//合并数组
$tem =array_merge($array,$array2);
echo "<pre>";
print_r($tem);
echo "</pre>";

结果如下图:

18.array_intersect — 计算数组的交集。例子:

//数组1
$array = array(1,2,3,4,5);
//数组2
$array2 = array(3,4,5,6,7);
//交集
$tem =array_intersect($array,$array2);
echo "<pre>";
print_r($tem);
echo "</pre>";

结果如下图:

19.array_diff — 计算数组的差集。

注意,返回的是第一个数组当中与第二个数组当中不同的数值,不会返回第二个数组中的值。

例子:

//数组1
$array = array(1,2,3,4,5);
//数组2
$array2 = array(3,4,5,6,7);
//交集
$tem =array_diff($array,$array2);
echo "<pre>";
print_r($tem);
echo "</pre>";

如图所示:

20.array_pop — 将数组最后一个单元弹出(出栈)。返回最后一个值,注意:

返回 array 的最后一个值。如果 array 是空(如果不是一个数组),将会返回 NULL

$array = array(1,2,3,4,5);

$tem =array_pop($array);
echo "<pre>";
print_r($tem);//返回最后一个值为5
echo "</pre>";

21.array_push — 将一个或多个单元压入数组的末尾(入栈) 。返回处理之后数组的元素个数。

$array = array(1,2,3,4,5);

$tem =array_push($array,6);
echo "<pre>";
print_r($tem);//返回处理之后数组的元素个数。
echo "</pre>";

22.array_shift — 将数组开头的单元移出数组。注意,返回移出的值,如果 array 为 空或不是一个数组则返回 NULL。  

$array = array(1,2,3,4,5);
$tem =array_shift($array);
echo "<pre>";
print_r($tem);//返回移出的值为1

echo "</pre>";

23.array_unshift — 在数组开头插入一个或多个单元

$array = array(1,2,3,4,5);
$tem =array_unshift($array,22);
echo "<pre>";
print_r($tem);//返回数组的元素个数

echo "</pre>";

24.list();

//按索引角标顺序来进行解构,但是角标必须从0开始,并且是连续的

//只对索引数组有效,当遇到关联数组会直接跳过

$array5 = array("name" => "zhangsan",0 => "lisi",1 =>"wangwu");
list($a,$b) = $array5;
echo $a." ".$b;  //结果为lisi,wangwu

25.each();

//会返回第一个键值对的一个数组(索引和关联数组的混合形式),

//当第二次调用是,游标会自动到下一个,即第二个键值对数组;

$array6 = array("name" => "fangming",0 => "18", "sex" => "man");
$iem1 = each($array6);
print_r($iem1);
echo "<br>";
$iem2 = each($array6);
print_r($iem2);
  

26.list,each结合使用

list($a,$b) = each($array6);
echo $a.":".$b."<br>";
  

27.利用while循环结合list,each进行遍历

$array7 = array("name" => "fangming","age" => "18", "sex" => "man");
while(list($a,$b) = each($array7)){
    echo $a.":".$b."<br>";
};

28.reset,重置数组,使游标返回第一位

reset($array7);

 

 




 






 



 
时间: 2024-10-11 15:48:56

php 数组常用函数的相关文章

Javascript学习笔记First day(字符串和数组常用函数)

这些之前有学习过,但是工作中已经很长时间没有接触前端了,所以重新温习一下. $ 在控制台输出一条信息 console console.log(); console.error(); console.warn(); console.info(); $ 常用字符串操作函数 console.log(person.city.length); console.log(person.city.toUpperCase()); console.log(person.city.toLowerCase()); co

JS数组常用函数以及查找数组中是否有重复元素的三种常用方法

阅读目录: DS01:常用的查找数组中是否有重复元素的三种方法 DS02:常用的JS函数集锦 DS01.常用的查找数组中是否有重复元素的三种方法 1. 1 var ary = new Array("111","22","33","111"); 2 var s = ary.join(",")+","; 3 for(var i=0;i<ary.length;i++) { 4 if(s.

php数组常用函数总结

数组的创建 $arr1 = [ "姓名" => "张三", "籍贯" => "上海", "年龄" => 12, "职位" => "php开发工程师", "工作经历" => "阿里巴巴", "月薪" => "20K" ]; $arr2 = array(&q

PHP数组常用函数分类整理

一.数组操作的基本函数数组的键名和值array_values($arr);  获得数组的值array_keys($arr);  获得数组的键名array_flip($arr);  数组中的值与键名互换(如果有重复前面的会被后面的覆盖)in_array("apple",$arr);  在数组中检索applearray_search("apple",$arr);  在数组中检索apple ,如果存在返回键名array_key_exists("apple&quo

php 数组 常用函数

一.数组操作的基本函数数组的键名和值array_values($arr);  获得数组的值array_keys($arr);  获得数组的键名array_flip($arr);  数组中的值与键名互换(如果有重复前面的会被后面的覆盖)in_array("apple",$arr);  在数组中检索applearray_search("apple",$arr);  在数组中检索apple ,如果存在返回键名array_key_exists("apple&quo

php数组常用函数

一.数组操作的基本函数数组的键名和值array_values($arr);  获得数组的值array_keys($arr);  获得数组的键名array_flip($arr);  数组中的值与键名互换(如果有重复前面的会被后面的覆盖)in_array("apple",$arr);  在数组中检索applearray_search("apple",$arr);  在数组中检索apple ,如果存在返回键名array_key_exists("apple&quo

php数组常用函数汇总

数组内部制造控制函数 current():取得数组当前位置的值 key():取得数组当前位置的索引值 next():将数组指针向后移一位 prev():将数组指针向前移动一位 end():将数组指针移动到最后一个元素 reset():将数组指针移动到第一个元素 键值操作函数 array_values():获得数组所有元素的键值,并返回一个重新索引的数组. array_keys():获得数组所有元素的键名,并返回一个重新索引的数组,以刚才得到的键名作为新数组的键值 in_array():检查某个值

PHP语言 -- 数组常用函数

attr = array(1,2,3,4,5); echo in_array(1,$attr); //判断数组中是包含在某个值 , 包含返回1 不包含返回空 print_r(array_reverse($attr));//翻转数组 ,返回一个数组 echo count($attr); //返回数组里面元素的个数 $attr = array(1,1,2,3,4,5); print_r(array_unique($attr));//去重 ,返回一个新的数组 unset($attr[2]);//删除数

Js中常用的字符串,数组,函数扩展

由于最近辞职在家,自己的时间相对多一点.所以就根据prototytpeJS的API,结合自己正在看的司徒大神的<javascript框架设计>,整理了下Js中常用一些字符串,数组,函数扩展,一来可以练练手,二来也锻炼下自己的代码能力.由于代码里面的注释自认为已经非常详细,所以就直接贴代码了. 1. 字符串扩展: ;(function() { var method, stringExtends = { /** * 删除字符串开始和结尾的空白 * @returns {string} */ stri