本文以案例的形式分析了PHP array_map和array_column之间的关系,并详细分析如下:

array_map()和()array_column使用如下:

array_map;()的回调函数的一个给定的阵列单元的功能

array_column();快速实现:把一个二维数组一维数组

的array_column()函数的格式是:

阵列array_column(数组输入,混合column_key {美元美元,混合index_key });

返回输入数组的中位数column_key柱。如果可选的参数index_key指定,返回数组中的相应键输入对应的数组的值index_key价值。

示例代码1:


记录=数组(
(阵列
id = 2135,
first_name= >约翰,
last_name= > 'doe,
),
(阵列
id = 3245,
first_name=>萨莉,
last_name= > 'smith,
),
(阵列
id = 5342,
first_name= >简,
last_name= > 'jones,
),
(阵列
id = 5623,
first_name= >‘',
last_name= > 'doe,
)
);

first_names美元= array_column(美元的记录,'first_name);
print_r($ first_names);




输出:




阵列
(
{ 0 } >约翰
{ 1 } >莎丽
{ 2 } >简
{ 3 } >彼得
)



示例代码二:


last_names美元= array_column(美元的记录,'last_name,'id');
print_r($ last_names);




输出:


阵列
(
{ 2135 } = > DOE
{ 3245 } >史米斯
{ 5342 } >琼斯
{ 5623 }
)




当没有array_column()函数,

使用array_map()实现:


美元= array_map(功能($元){ / / $记录作为一个回调函数作为参数
返回的元素'last_name{ }; / /返回的数组元素的值对应的last_name
},$记录); / / array_map返回一个数组,这意味着每$元{ 'last_name}是存储在一个新的数组,所以它是一个新的指数。




使用foreach实现:




foreach($记录$ V)
{
$ { } = $ V { 'last_name};
}




使用foreach实现实例:
数组();
foreach($记录$ K = > $ V)
{
$c =阵列($ V { 'id' } = > $ V { 'last_name}); / /使用+运算符,在附加表格(不改变原有数组索引),结合阵列组件
} / /如果array_merge使用数字键将被重新编号




在多个数据检索、二维阵列的典型,如果你需要使用相应的单值数据值(array_column)可以完成的,但在复杂结构的数组的脸,foreach可以让你更灵活,但总的优先权制度的功能是首选。