如何将属性附加到PHP数组中的每个元素

时间:2011-12-11 14:23:39

标签: php arrays

假设我们有一个数组,每个元素都有一个属性:

Array ( [0] => A [1] => B [2] => C [3] => D ) 

是否可以为每个元素添加相同的统一属性,以便获得新的二维数组?即对于属性X:

Array ( [0] => Array ( [0] => A [1] => X)
        [1] => Array ( [0] => B [1] => X)
        [2] => Array ( [0] => C [1] => X) )

我知道,我可以为每个循环使用它,但是还有更优雅的解决方案(例如array_combine)吗?

(有关分配不同的值,请参阅:Assigning a value to each array element PHP

2 个答案:

答案 0 :(得分:3)

您可以使用array_map

$array = array ( 'A', 'B', 'C', 'D' );
$array = array_map(function($el) {
  return array($el, 'X');
}, $array);

答案 1 :(得分:1)

array_walk也可以。

$arr = array('A', 'B', 'C', 'D');
array_walk($arr, 'arrFunc');
function arrFunc(&$item, $key)
{
    $item = array($item, 'X'); 
}
相关问题