点击蓝字关注我们!每天获取最新的编程小知识!
源 / php中文网 源 / www.php.cn
在这篇文章中,我们将给大家介绍如何在php中从多维数组中获取特定的键值数组。这里我们将使用array_column()和array_map()获得特定的键值数组。
(查看原文请点击本文末尾左下角:
我们在项目开发过程中,有时候可能会需要在多维数组中获取特定的键和值。比如有一个多维数组,每个数组都有id, name, email等键。而你只需要从数组中获取所有名称,那么你如何去获取它呢?
下面我举个完整的例子:
$names
= array_column(
$myArray
,
'name'
);
$emails
=
array_map
(
function
(
$ar
) {
return
$ar
[
'email'
];},
$myArray
);
代码示例:
$myArray
= [
[
'name'
=>
'Paresh'
,
'email'
=>
'paresh@gmail.com'
],
[
'name'
=>
'Rakesh'
,
'email'
=>
'rakesh@gmail.com'
],
[
'name'
=>
'Naresh'
,
'email'
=>
'naresh@gmail.com'
],
];
$names
= array_column(
$myArray
,
'name'
);
$emails
=
array_map
(
function
(
$ar
) {
return
$ar
[
'email'
];},
$myArray
);
print_r(
$names
);
print_r(
$emails
);
?>
输出指定的键值:
Array
(
[0] => Paresh
[1] => Rakesh
[2] => Naresh
)
Array
(
[0] => paresh@gmail.com
[1] => rakesh@gmail.com
[2] => naresh@gmail.com
)
函数介绍:
1、array_column()函数返回数组中指定的一列
array_column (
array
$input
, mixed
$column_key
[, mixed
$index_key
= null ] ) :
array
array_column():返回input数组中键值为column_key的列, 如果指定了可选参数index_key,那么input数组中的这一列的值将作为返回数组中对应值的键。
参数input,需要取出数组列的多维数组。 如果提供的是包含一组对象的数组,只有 public 属性会被直接取出。 为了也能取出 private 和 protected 属性,类必须实现 __get() 和 __isset() 魔术方法。
column_key,需要返回值的列,它可以是索引数组的列索引,或者是关联数组的列的键,也可以是属性名。 也可以是NULL,此时将返回整个数组(配合index_key参数来重置数组键的时候,非常管用)
index_key,作为返回数组的索引/键的列,它可以是该列的整数索引,或者字符串键值。
返回值:从多维数组中返回单列数组。
2、array_map()函数为数组的每个元素应用回调函数
array_map
( callable
$callback
,
array
$array1
[,
array
$... ] ) :
array
array_map():返回数组,是为 array1 每个元素应用 callback函数之后的数组。 callback 函数形参的数量和传给 array_map() 数组数量,两者必须一样。
参数callback,回调函数,应用到每个数组里的每个元素。
array1,数组,遍历运行 callback 函数...数组列表,每个都遍历运行 callback 函数。
返回值:返回数组,包含 callback 函数处理之后 array1 的所有元素。
相关推荐:《PHP教程》
http://www.php.cn/course/list/29.html
本篇文章就是关于从php中的多维数组获取特定键值的方法介绍,希望对需要的朋友有所帮助!
-END-
声明:本文选自「 php中文网 」,搜索「 phpcnnew 」即可关注!
▼