位置:首页 > PHP > PHP功能函数 >

php二维数组转一维数组方法总结

字号+ 作者:micloud 来源:www.seoalphas.com 2020-03-18 10:31 浏览量:1929

数组转换,实用的小功能,如果不知道有这函数,还得自己写方法来进行转换了。

$records = [
    [
        'id' => 2135,
        'first_name' => 'John',
        'last_name' => 'Doe',
    ],
    [
        'id' => 3245,
        'first_name' => 'Sally',
        'last_name' => 'Smith',
    ],
    [
        'id' => 5342,
        'first_name' => 'Jane',
        'last_name' => 'Jones',
    ],
    [
        'id' => 5623,
        'first_name' => 'Peter',
        'last_name' => 'Doe',
    ]
];

将上面数组的first_name提取出来转换成一维数组:

1.array_column()

    array_column()是PHP内置函数,限制是PHP版本必须是5.5.0及以上版本!

<?php
  $first_names = array_column($records, 'first_name');
  var_dump($first_names);
?>

打印结果为:

$first_names = ['John','Sally','Jane','Peter'];


2.array_walk()

array_walk()函数使用用户自定义函数对数组中的每个元素做回调处理,实现当前功能的方法:

$first_names= [];
array_walk($records, function($value, $key) use (&$first_names){
    $first_names[] = $value['first_name'];
});var_dump($first_names);

打印结果为:

$first_names = ['John','Sally','Jane','Peter'];


3.array_map()

array_map()函数和array_walk() 作用类似,将回调函数作用到给定数组的单元上。

$first_names= [];
array_map(function($value) use (&$first_names){
    $first_names[] = $value['first_name'];
}, $records);
var_dump($first_names);

打印结果为:

$first_names = ['John','Sally','Jane','Peter'];


4.array_reduce()

array_reduce — 用回调函数迭代地将数组简化为单一的值。
$first_names = array_reduce($records,function($result, $value){
    array_push($result, $value['first_name']);
    return $result;
},[]);
var_dump($first_names);

打印结果:

$first_names = ['John','Sally','Jane','Peter'];

5. array_walk_recursive()

array_walk_recursive — 对数组中的每个成员递归地应用用户函数。这个函数可以把任意维度的数组转换成一维数组。


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • php获取文章中图片img标签方法

    php获取文章中图片img标签方法

    浏览次数:5018

  • php数组删除元素 删除指定键值元素

    php数组删除元素 删除指定键值元素

    浏览次数:4148

  • php 获取手机信息

    php 获取手机信息

    浏览次数:2942

  • php序列化与反序列化函数

    php序列化与反序列化函数

    浏览次数:2531

网友点评
评论区域