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]) "color: #ff0000">总结以上所述是小编给大家介绍的六个比较好用的php数组Array函数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 【雨果唱片】中国管弦乐《鹿回头》WAV
- APM亚流新世代《一起冒险》[FLAC/分轨][106.77MB]
- 崔健《飞狗》律冻文化[WAV+CUE][1.1G]
- 罗志祥《舞状元 (Explicit)》[320K/MP3][66.77MB]
- 尤雅.1997-幽雅精粹2CD【南方】【WAV+CUE】
- 张惠妹.2007-STAR(引进版)【EMI百代】【WAV+CUE】
- 群星.2008-LOVE情歌集VOL.8【正东】【WAV+CUE】
- 罗志祥《舞状元 (Explicit)》[FLAC/分轨][360.76MB]
- Tank《我不伟大,至少我能改变我。》[320K/MP3][160.41MB]
- Tank《我不伟大,至少我能改变我。》[FLAC/分轨][236.89MB]
- CD圣经推荐-夏韶声《谙2》SACD-ISO
- 钟镇涛-《百分百钟镇涛》首批限量版SACD-ISO
- 群星《继续微笑致敬许冠杰》[低速原抓WAV+CUE]
- 潘秀琼.2003-国语难忘金曲珍藏集【皇星全音】【WAV+CUE】
- 林东松.1997-2039玫瑰事件【宝丽金】【WAV+CUE】