PHP内置数组函数详解(1)

来源:互联网 发布:汤普森2016总决赛数据 编辑:程序博客网 时间:2024/05/29 10:51

一、数组的键|值操作函数

<span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; background-color: rgb(255, 255, 255);">1.函数array_values()</span>
<span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; background-color: rgb(255, 255, 255);">该函数是返回数组所有元素的值,只有一个必选参数,规定传入给定的数组。返回一个包含所有数组“值”的数组,但是不保留键名,被返回的数组键key,是重新建立索引,从0开始递增。适用于数组下标混乱的数组或者把关联数组转换成索引数组。</span>
<?php$a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse");print_r(array_values($a));?>
Array ( [0] => Cat [1] => Dog [2] => Horse )


2.函数array_keys(array input,[mixed search_value],[bool strict])
函数的作用是返回数组的键名,函数中一个必须参数,两个可选参数。
如果指定了可选参数search_value,那么就返回search_value的键名,否则返回所有的键名数组。自php5,参数strict参数来进行全等比较,默认false不依赖类型,true话,在数组input寻找与search_value相同的类型值,如果没有不返回。

<?php$a=array("a"=>"Horse","b"=>"Cat","c"=>"Dog");print_r(array_keys($a));?>输出:Array ( [0] => a [1] => b [2] => c )

<?php$a=array("a"=>"Horse","b"=>"Cat","c"=>"Dog");print_r(array_keys($a,"Dog"));?>输出:Array ( [0] => c)
</pre><pre name="code" class="html"><?php$a=array(10,20,30,"10");print_r(array_keys($a,"10",false));?>输出:Array ( [0] => 0 [1] => 3 )

<?php$a=array(10,20,30,"10");print_r(array_keys($a,"10",true));?>输出:Array ( [0] => 3)

3.函数in_array(mixed needle,array haystack,[bool strict])
函数作用是检查数组是否有某个值,三个参数前两个必须,最后一个可选。needl是要在数组haystack要寻找的值。找到返回ture,否则为false。如果第三个参数设置为true,needl类型也要和数组haystack的值一样才会返回true。

<?php$people = array("Peter", "Joe", "Glenn", "Cleveland");if (in_array("Glenn",$people))  {  echo "Match found";  }else  {  echo "Match not found";  }?>输出:Match found

<?php$people = array("Peter", "Joe", "Glenn", "Cleveland", 23);if (in_array("23",$people, TRUE))  {  echo "Match found<br />";  }else  {  echo "Match not found<br />";  }if (in_array("Glenn",$people, TRUE))  {  echo "Match found<br />";  }else  {  echo "Match not found<br />";  }if (in_array(23,$people, TRUE))  {  echo "Match found<br />";  }else  {  echo "Match not found<br />";  }?>输出:Match not foundMatch foundMatch found

4.array_search(mixed needl ,array haystack,[bool strict])
array_search和in_array()类似,唯一不同,array_search()返回是needle键名。

5.array_key_exists(mixed key,array haystack)
函数查找haystack中的键名是否有key,因为数组键名是唯一。

<?php$a=array("a"=>"Dog","b"=>"Cat");if (array_key_exists("a",$a)){echo "Key exists!";}else{echo "Key does not exist!";}?>输出:Key exists!

<?php$a=array("Dog",Cat");if (array_key_exists(0,$a)){echo "Key exists!";}else{echo "Key does not exist!";}?>输出:Key exists!

6.array_flip(array trans)
函数作用是交换数组的键和值,返回交换后的数组,如果一个值出现多次,那么最后一个键名将作为他的值,覆盖前面出现的值。如果原数组值的类型不是字符串或整数,那么报错。
<?php$a=array(0=>"Dog",1=>"Cat",2=>"Horse");print_r(array_flip($a));?>输出:Array ( [Dog] => 0 [Cat] => 1 [Horse] => 2 )

7.array_reverse(array array[,bool preverse_key])
函数左右是将原数组中的元素顺序反转,返回反转后的数组。如果preverse_key为true,则元素的键名保持不变。
<?php$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");print_r(array_reverse($a));?>输出:Array ( [c] => Horse [b] => Cat [a] => Dog )





0 0
原创粉丝点击