·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> php网站开发 >> 数组的键/值操作函数

数组的键/值操作函数

作者:佚名      php网站开发编辑:admin      更新时间:2022-07-23
数组的键/值操作函数

PH在P中,数组的每个元素都是由键/值组成的,通过元素的键来访问对应的键的值。“关联数组”指的是键名为字符串的数组,“索引”和“键名”指的是同一样东西。“索引”多指数组的数字形式的下标。使用数组的处理函数,可以很方便地对数组中的每个元素的键和值进行操作,进而生成一个新数组。

①函数array_values()

array_values()函数的作用是返回数组中所有元素的值。使用非常容易,只有一个必选参数,规定传入给定的数组,返回一个包含给定数组中所有值得数组。但不保留键名,被返回的数组将使用顺序的数值键重新建立索引,从0开始并且以1递增。适合用于数组中元素下表混乱的数组,或者可以将关联数组转化为索引数组。代码如下所示:

1234567891011121314<?php$contact = array("ID" => 1,"姓名" => "高某","公司" => "A公司","地址" => "北京市","电话" => "(010)98765432");//array_values()函数传入数组$contact 重新索引返回一个新数组PRint_r(array_values($contact));print_r($contact); //原数组$contact内容元素不变?>

该程序运行后的结果如下所示:Array([0]=>1 [1]=>高某 [2]=>A公司 [3]=>北京市 [4]=>(010)98765432)Array([ID]=>1 [姓名]=>高某 [公司]=>A公司 [地址]=> 北京市 [电话]=>(010)98765432)

②函数array_keys()

array_keys()函数的作用是返回数组中所有的键名。本函数中有一个必须参数和两个可选参数,其函数的原型如下:

array array_keys(array input[,mixed search_value[,bool strict]])如果指定了可选参数search_value,则只返回指定该值得键名,否则input数组中的所有键名都会被返回。自PHP5起,可以用strict参数来进行全等比较。需要传入一个布尔型的值,FALSE为默认值不依赖类型。如果传入TRUE值则根据类型返回带有指定值得键名。函数array_keys()使用的代码如下所示:

123456789101112<?php$lamp = array("a"=>"linux","b"=>"Apache","c"=>"MySQL","d"=>"php");print_r(array_keys($lamp)); //输出Array([0]=>a [1]=>b [2]=>c)print_r(array_keys($lamp,"Apache")); //使用第二个可选参数输出:Array([0]=>b)$a = array(10,20,30,"10"); //声明一个数组,其中元素的值有整数10和字符串"10"print_r(array_keys($a,"10",false)); //使用第三个参数(false)输出:Array([0]=>0 [1]=>3)$a = array(10,20,30,"10"); //声明一个数组,其中元素的值有整数10和字符串"10"print_r(array_keys($a,"10",true)); //使用第三个参数(true)输出:Array([0]=>3)?>

③函数in_array()

in_array()函数的作用是检查数组中是否存在某个值,即在数组中搜索给定的值。本函数中有三个参数,前两个参数为必须的,最后一个参数为可选的。其函数的原型如下:

bool in_array(mixed needle,array haystack[,bool strict])

第一个参数needle为规定要在数组中搜索的值,第二个参数haystack是规定要被搜索的数组,如果给定的值needle存在于数组haystack中则返回TRUE。如果第三个参数设置为TRUE,函数只有在元素存在于数组中且数据类型于给定值相同时才返回TRUE。如果没有在数组中找到参数,函数返回FALSE。要注意如果needle参数是字符串,且strict参数设置为TRUE,则搜索区分大小写。函数array_keys()使用的代码如下所示:

1234567891011121314151617181920212223242526272829303132333435<?php//in_array()函数的简单使用形式$os = array("Mac","NT","Trix","Linux");if(in_array("Trix",$os)){ //这个条件成立,字符串Trix在数组$os中echo "Got Trix";}if(in_array("mac",$os)){ //这个条件失败,因为in_array()是区分大小写的echo "Got mac";}//in_array严格类型检查例子$a = array('1.10',12.4,1.13);//第三个参数为true,所以字符串'12.4'和浮点数12.4类型不同if (in_array('12.4',$a,true)){echo "'12.4' found wi