我有一个像这样的日期数组
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(...)
)
array_column()
:
$imageName = array_column($Array, 'imageName');
$alt = array_column($Array, 'alt');
您可以使用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);
请检查此代码
<?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;
?>