400-800-9385
网站建设资讯详细

PHP常用数的组函数使用注意

发表日期:2020-07-21 10:03:10   作者来源:方维网络   浏览:2786   标签:php网站建设    
list()
 
用数组中的元素为一组变量赋值
与 array() 类似,list() 实际上是一种语言结构,不是函数。
该函数只用于数字索引的数组,且假定数字索引从 0 开始
第一个必填 其他可选 ,可以用间隔站位
 
array_combine()
 
$key = array('a','s','d');
$value= array('1','2','3');
函数通过合并两个数组来创建一个新数组,其中的一个数组是键名,另一个数组的值为键值。
 
注释:键名数组和键值数组的元素个数必须相同!
 
如果其中一个数组为空,或者两个数组的元素个数不同,则该函数返回 false。
 
array_diff(array,array1,array2...) 函数返回两个数组的差集数组。该数组包括了所有在被比较的数组中,但是不在任何其他参数数组中的键值。
 
第一个参数数组为参照
 
在返回的数组中,键名保持不变。
array_intersect(array,array1,array2...)函数用于比较两个(或更多个)数组的键值,并返回交集
 
array_flip(array);
 
返回一个反转后的 array,例如 trans 中的键名变成了值,而 trans 中的值成了键名。
 
注意 trans 中的值需要能够作为合法的键名,例如需要是 integer 或者 string。如果值的类型不对将发出一个警告,并且有问题的键/值对将不会反转。
 
如果同一个值出现了多次,则最后一个键名将作为它的值,所有其它的都丢失了
 
array_map(myfunction,array1,array2,array3...)

function 可为 null 必填
必须有一个数组
 
函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组。
 
回调函数接受的参数数目应该和传递给 array_map() 函数的数组数目一致。
array_walk(array,myfunction,userdata...)
Userdata...  可选。规定用户自定义函数的参数。您能够向此函数传递任意多参数

array_walk() 函数对数组中的每个元素应用回调函数。如果成功则返回 TRUE,否则返回 FALSE。
典型情况下 myfunction 接受两个参数。array 参数的值作为第一个,键名作为第二个。如果提供了可选参数 userdata ,将被作为第三个参数传递给回调函数。
 
array_reduce(array,function,initial)
第三参数可选 为发送到函数的初始值
向用户自定义函数发送数组中的值,并返回一个字符串。
如果数组是空的且未传递 initial 参数,该函数返回 NULL
 
函数用回调函数迭代地将数组简化为单一的值。
 
如果指定第三个参数,则该参数将被当成是数组中的第一个值来处理,或者如果数组为空的话就作为最终返回值。
 
 

array_unique(array)
array_unique() 去除重复 一维数组

 
array_unique(array,SORT_REGULAR) 去除重复 二维数组
当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除。
被保留的数组将保持第一个数组项的键名类型。
 
先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名。这并不意味着在未排序的 array 中同一个值的第一个出现的键名会被保留。
 
array_column(array,column_key,index_key)

返回array数组中键值为column_key的列, 如果指定了可选参数index_key,那么array数组中的这一列的值将作为返回数组中对应值的键
Array 需要取出数组列的多维数组。 如果提供的是包含一组对象的数组,只有 public 属性会被直接取出。 为了也能取出 private 和 protected 属性,类必须实现 __get() 和 __isset() 魔术方法。7.00 array 可以是对象
column_key 需要返回值的列,它可以是索引数组的列索引,或者是关联数组的列的键,也可以是属性名。 也可以是NULL,此时将返回整个数组(配合index_key参数来重置数组键的时候,非常管用)
 
index_key 作为返回数组的索引/键的列,它可以是该列的整数索引,或者字符串键值
 
 

var1
必需。可以是带有变量名的字符串,或者是变量数组。
var2,...
可选。可以是带有变量名的字符串,或者是变量数组。允许多个参数。
函数创建一个由参数所带变量组成的数组。如果参数中存在数组,该数组中变量的值也会被获取。

本函数返回的数组是一个关联数组,键名为函数的参数,键值为参数中变量的值
 
extract(array,extract_rules,prefix)

函数从数组中将变量导入到当前的符号表。
 
该函数使用数组键名作为变量名,使用数组键值作为变量值。针对数组中的每个元素,将在当前符号表中创建对应的一个变量。
 
第二个参数 type 用于指定当某个变量已经存在,而数组中又有同名元素时,extract() 函数如何对待这样的冲突。
 
该函数返回成功导入到符号表中的变量数目。
 
3个参数 第一个必须为数组  第二个是检查每个数组的键名合法 符号是否冲突 有可选值  第三个为可选 在 第二个参数为特定值时需要
$a = "Original";
$my_array = array("a" => "Cat", "b" => "Dog", "c" => "Horse");
 
extract($my_array, EXTR_PREFIX_SAME, "dup");
 
echo "\$a = $a; \$b = $b; \$c = $c; \$dup_a = $dup_a";
 
打印结果 $a = Original; $b = Dog; $c = Horse; $dup_a = Cat
 
Array_fill(index,number,value) 函数用给定的值填充数组
Index 返回数组的第一个索引
Number  规定要插入的元素数, 如果 number 为 0 或小于 0,就会出错
Value  填充数组所使用的值
 
range(start, end, step) 函数创建一个包含指定范围的元素的数组
如果 end比 start小,则返回反序的数组
如果设置了步长 step,会被作为单元之间的步进值。step 应该为正值。不设置step 则默认为 1。
字符序列值仅限单个字符。 如果长度大于1,仅仅使用第一个字符
Array_slice(array,start,length,preserve)函数在数组中根据条件取出一段值,并返回
返回其中一段。 如果 start参数大于 array 尺寸,就会返回空的 array
 
Start 如果 start非负,则序列将从 array 中的此偏移量开始。如果 start为负,则序列将从 array 中距离末端这么远的地方开始。
Lenght 如果给出了 length 并且为正,则序列中将具有这么多的单元。如果给出了 length 并且为负,则序列将终止在距离数组末端这么远的地方。如果省略,则序列将从 start开始一直到 array 的末端
 
注意 array_slice() 默认会重新排序并重置数组的数字索引。你可以通过将 preserve设为 TRUE 来改变此行为。
 
Array_sum()和
 
Array_product()乘
 
Array_reduce(array, myfunction, initial)  用回调函数迭代地将数组简化为单一的值
 
myfunction
mixed myfunction( mixed $carry , mixed $item )
carry
携带上次迭代里的值; 如果本次迭代是第一次,那么这个值是 initial。
item
携带了本次迭代的值。
initial
如果指定了可选参数 initial,该参数将在处理开始前使用,或者当处理结束,数组为空时的最后一个结果。
 
 
Array_count_values()
统计数组中的值
返回一个关联数组,用 array 数组中的值作为键名,该值在数组中出现的次数作为值
如没特殊注明,文章均为方维网络原创,转载请注明来自https://www.szfangwei.cn/news/5781.html