2016-05-13 9 views
1

空の配列(例として)と、この配列にプッシュしたい多次元配列があります。しかし、私は私が多次元配列を別の配列のキーとして配置する

[ 
    'one' => ['a' => 'stuff'], 
    'two' => ['b' => 'stuff'], 
    'three' => ['c' => 'stuff'] 
] 
を持っていることを好むだろう

[ 
    0 => ['one' => ['a' => 'stuff']], 
    1 => ['two' => ['b' => 'stuff']], 
    2 => ['three' => ['c' => 'stuff']] 
] 

を取得

$myEmptyArray[] = $arrayOne; 
$myEmptyArray[] = $arrayTwo; 
$myEmptyArray[] = $arrayThree; 

を使用して、空の配列

のキーになるために、各多次元配列のキーをしたいと思います

これを行うための、きれいでコンパクトな方法(1つのライナーまたはネイティブPHP関数)は、配列ke foreachのと、yと、私は自分のコードに多くの場所でこれを使用したいと思うでしょうとして

foreach ($arrayOne as $key => $value) { 
    $myEmptyArray[$key] = $value 
} 

のような値を空の配列に明示的にこのキーを割り当てる

+1

は 'array_merge'は、可変パラメータを持つ関数にまたはあなたのforeachループ外に仕事をしていないだろうたびWAそれをカウントし、使用NT? –

答えて

0

あなたは「+ (union)演算子を使用することができます左側の配列に追加された右側の配列を返します。両方の配列に存在するキーのために、「左側の配列から要素が使用され、右側の列から一致する要素が無視されます。

$array = []; 
$array += ['one' => ['a' => 'stuff']]; 
$array += ['two' => ['b' => 'stuff']]; 
$array += ['three' => ['b' => 'stuff']]; 
var_dump($array); 
/* 
array(3) { 
    'one' => 
    array(1) { 
    'a' => 
    string(5) "stuff" 
    } 
    'two' => 
    array(1) { 
    'b' => 
    string(5) "stuff" 
    } 
    'three' => 
    array(1) { 
    'b' => 
    string(5) "stuff" 
    } 
} 
*/ 
0

あなたは、単にそれらを組み合わせること+を使用することができますあなたが好きな方法で配列:

$arrayOne = array('one' => array('a' => 'stuff')); 
$arrayTwo = array('two' => array('b' => 'stuff')); 
$arrayThree = array('three' => array('c' => 'stuff')); 

$myEmptyArray = array(); 
$myEmptyArray += $arrayOne; 
$myEmptyArray += $arrayTwo; 
$myEmptyArray += $arrayThree; 

echo "<pre>"; print_r($myEmptyArray); echo "</pre>"; 

OUTPUT:?

Array 
(
    [one] => Array 
     (
      [a] => stuff 
     ) 

    [two] => Array 
     (
      [b] => stuff 
     ) 

    [three] => Array 
     (
      [c] => stuff 
     ) 

)