我有一个像这样的日期数组
Array
(
[0] => Array
(
[imageName] => WNgrRdqZ
[alt] => alt text
)
[1] => Array
(
[imageName] => xoPS0udB
[alt] => Alt
)
)
我想要格式化它,所以我得到一个imageNames
数组和一个alt
数组。我可以简单地使用foreach循环来做到这一点,但我很好奇是否有PHP函数的构建我可以使用而不是重写其他东西。我在PHP手册中找不到任何有用的东西。
编辑:它也可以分成1个数组,有2个子数组,例如
Array
(
['imageName'] => Array(..),
['alt'] => Array(...)
)
答案 0 :(得分:3)
您可以使用array_column()
:
$imageName = array_column($Array, 'imageName');
$alt = array_column($Array, 'alt');
答案 1 :(得分:0)
您可以使用array_reduce:
<?php
$data = array
(
array
(
'imageName' => 'WNgrRdqZ',
'alt' => 'alt text'
),
array
(
'imageName' => 'xoPS0udB',
'alt' => 'Alt'
)
);
$reduced = array_reduce($data,function($carry, $item){
$carry['imageName'][] = $item['imageName'];
$carry['alt'][] = $item['alt'];
return $carry;
},array());
print_r($reduced);
答案 2 :(得分:0)
请查看此代码
<?php
$arraystest = array(0 => array('imageName' => 'WNgrRdqZ', 'alt' => 'alt text'), 1 => array('imageName' => 'xoPS0udB', 'alt' => 'Alt'));
$i = 0;
$newarray = array();
foreach ($arraystest as $item) {
$newarray['imagename'][$i] = $item['imageName'];
$newarray['alt'][$i] = $item['alt'];
$i++;
}
print_r($newarray);
exit;
?>