2017-05-25 13 views
2

私はPHPで作業しています。既存の1次元配列の各インデックスに静的な値を追加する必要があります。追加すると、多次元配列になります。挿入配列は次のようになります後90配列の各インデックスで静的な値をプッシュして2次元配列を作成する方法は?

を挿入する

[checklists] => Array 
(
    [0] => 20 
    [1] => 50 
    [2] => 35 
    [3] => 23 
    [4] => 24 
    [5] => 21 
    [6] => 22 
    [7] => 27 
    [8] => 25 
) 

静的な値:1次元配列の既存

私が知りたい

[checklists] => Array 
(
    [0] => Array(90,20) 
    [1] => Array(90,50) 
    [2] => Array(90,35) 
    [3] => Array(90,23) 
    [4] => Array(90,24) 
    [5] => Array(90,21) 
    [6] => Array(90,22) 
    [7] => Array(90,27) 
    [8] => Array(90,25) 
) 

はどのPHPがあります組み込み関数これを使って私はこれを達成できますか、または私はループを使うべきですか?

答えて

3

array_mapを使用できます。$ staticは90です。$ arrayは配列です。

$array['checklists'] = array_map(function($v) use($static){ 
    return [$static, $v]; 
}, $array['checklists']); 

デモ:https://3v4l.org/3ugLR

3

ここでは、所望の出力を達成するためにarray_mapを使用しています。

解決策1:

Try this code snippet here

$staticValue=90; 
$array["checklists"]= array_map(function($value) use ($staticValue){ 
    return array($staticValue,$value); 
}, $array["checklists"]); 
print_r($array); 

解決策2:try this simplest one

$staticValue=90; 
foreach($array as &$value) 
{ 
    $value=array($staticValue,$value); 
} 
print_r($array); 
+0

ねえ、あなたが小さい時間内に10Kの評判を横断しようとしているおめでとうの男、 –

+1

@BunkerBoy Yaah :-)本当に素晴らしい(Y)当事者が....確か...私たちは..ハードパーティます。 ..ありがとう... :) –

1

配列を変更するには、array_walkを使用することができる。

array_walk($array['checklists'], 'addStatic'); 

function addStatic(&$v) { 
    $v = [90, $v]; 
} 
-1

もっと簡単な方法です。

$array = array(); 

$array['checklist'][] = array(90, 20); 
$array['checklist'][] = array(90, 50); 
関連する問題