分享六个比较好用的php数组Array函数_php实例

分享六个比较好用的php数组Array函数_php实例

内容导读

收集整理的这篇技术教程文章主要介绍了分享六个比较好用的php数组Array函数_php实例,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3278字,纯文字阅读大概需要5分钟

内容图文

这篇文章给大家分享六个比较好用的php数组Array函数,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧

1. array_column 返回输入数组中某个单一列的值。
2. array_filter 用回调函数过滤数组中的元素。
3. array_map 将用户自定义函数作用到给定数组的每个值上,返回新的值。
4. array_walk_recursive 对数组中的每个成员递归地应用用户函数。
5. extract (从数组中将变量导入到当前的符号表), compact (创建一个包含变量名和它们的值的数组)
6. uasort 使用用户自定义的比较函数对数组中的键值进行排序。

1. array_column 返回输入数组中某个单一列的值。

类似功能有

1.1 Yii2 中的 ArrayHelper::index($array, 'id');

1.2 Yii2 中的 $query->select(['last_name', 'id'])->indexBy('id')->column();


// 可能从数据库中返回数组$a = array( array(
'id' => 5698,
'first_name' => 'Peter',
'last_name' => 'Griffin', ), array(
'id' => 4767,
'first_name' => 'Ben',
'last_name' => 'Smith', ), array(
'id' => 3809,
'first_name' => 'Joe',
'last_name' => 'Doe', ));$last_names = array_column($a, 'last_name', 'id');print_r($last_names);


输出结果:

Array(

[5698] => Griffin

[4767] => Smith

[3809] => Doe)

2. array_filter 用回调函数过滤数组中的元素。


function test_odd($var){
return($var & 1);}$a1=array("a","b",2,3,4);print_r(array_filter($a1,"test_odd"));


输出:

Array(

[2] => 2

[3] => 3

[4] => 4)

3. array_map 将用户自定义函数作用到给定数组的每个值上,返回新的值。

此函数有点类似与 array_walk_recursive , 只是多写了一步递归


 function myfunction($v) {
 if (is_array($v)) {

 return array_map("myfunction", $v);
 }
return($v * $v);}
$a = array(1, 2, 3, 4, 5, 6 => [2, 3]);print_r(array_map("myfunction", $a));


输出:

Array(

[0] => 1

[1] => 4

[2] => 9

[3] => 16

[4] => 25

[6] => Array([0] => 4 [1] => 9))
 function myfunction($v1, $v2) {
if ($v1 === $v2) {

 return "same";
 }
 return "different"; }
$a1 = array("Horse", "Dog", "Cat"); $a2 = array("Cow", "Dog", "Rat"); print_r(array_map("myfunction", $a1, $a2));


输出:

Array(

[0] => different

[1] => same

[2] => different)

4. array_walk_recursive 对数组中的每个成员递归地应用用户函数。

此函数有点类似与 array_map, 只是省去了写递归


 function myfunction(&$value, $key, $p) {
 if ($value == 'xxx') {

 $value = $p;
 } } $a = array("a" => "red", "b" => "green", "c" => "blue", 'd' => ['x' => 'xxx', 'y' => 'yyy']); array_walk_recursive($a, "myfunction", 'green'); print_r($a);


输出:

Array(

[a] => red

[b] => green

[c] => blue

[d] => Array([x] => green [y] => yyy))

5. extract (从数组中将变量导入到当前的符号表), compact (创建一个包含变量名和它们的值的数组)


 $a = "Original";$my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse"); extract($my_array); echo "$a = $a; $b = $b; $c = $c";


输出:

$a = Cat; $b = Dog; $c = Horse
 $firstname = "Peter"; $lastname = "Griffin"; $age = "41";$result = compact("firstname", "lastname", "age"); print_r($result);


输出:

Array(

[firstname] => Peter

[lastname] => Griffin

[age] => 41)

6. uasort 使用用户自定义的比较函数对数组中的键值进行排序(可以对二维数组排序)。


$arr2 = [
[

'id' => 3,

'age' => 33,
],
[

'id' => 2,

'age' => 44,
],
[

'id' => 1,

'age' => 22,
],];//按age字段升序排序uasort($arr2, function($a, $b) {
$field = 'age';
if ($a[$field] == $b[$field]){

return 0;
}
return ($a[$field] < $b[$field]) ? -1 : 1;});print_r($arr2);


输出:

Array(





[2] => Array([id] => 1 [age] => 22
)

[0] => Array([id] => 3 [age] => 33
 )

[1] => Array([id] => 2
[age] => 44
 ))


以上就是分享六个比较好用的php数组Array函数_php实例的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的分享六个比较好用的php数组Array函数_php实例全部内容,希望文章能够帮你解决分享六个比较好用的php数组Array函数_php实例所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。


本文关键词:

联系我们

在线咨询:点击这里给我发消息

邮件:w420220301@qq.com