2017-09-27 16 views
-2

に連結方式の1つの要素の配列私はこのようなPHPの配列を持っている:PHP:別の要素の配列

[ 
    'gudang' => 'A' 
    'blok' => '2' 
    0 => [ 
     'coil_no' => 'DNA07X1C519081726A' 
     'urut' => '28204' 
     'lokasi_terakhir' => '411' 
    ] 
    1 => [ 
     'coil_no' => 'DNA07X1A518081712A' 
     'urut' => '28205' 
     'lokasi_terakhir' => '211' 
    ] 
    2 => [ 
     'coil_no' => 'DNA07X1A420081707A' 
     'urut' => '28206' 
     'lokasi_terakhir' => '311' 
    ] 
] 

私は配列TIPEある要素lokasi_terakhirを持っている別の要素に、連結要素gudangbarangを必要としています。私は、各lokasi_terakhir要素にCONCAT、その後、gudangblokを削除する必要が

[ 
    0 => [ 
     'coil_no' => 'DNA07X1C519081726A' 
     'urut' => '28204' 
     'lokasi_terakhir' => 'A2411' 
    ] 
    1 => [ 
     'coil_no' => 'DNA07X1A518081712A' 
     'urut' => '28205' 
     'lokasi_terakhir' => 'A2211' 
    ] 
    2 => [ 
     'coil_no' => 'DNA07X1A420081707A' 
     'urut' => '28206' 
     'lokasi_terakhir' => 'A2311' 
    ] 
] 

:私はこのようにする必要があります。 お知らせください。

+1

https://stackoverflow.com/help/how-to- – Calimero

+0

質問は不明です、閉じることに投票 – RomanPerekhrest

答えて

0

array_mapを使用してみてください

$gudang = $array['gudang']; 
$blok = $array['blok']; 
foreach($array as $key =>$val){ 
    $array['lokasi_terakhir'] = $gudang.$blok.$val['lokasi_terakhir']; 
} 
print_r($array); 
1

を試してください:

$input = [ 
    0 => [ 
     'coil_no' => 'DNA07X1C519081726A' 
     'urut' => '28204' 
     'lokasi_terakhir' => '411' 
    ] 
    1 => [ 
     'coil_no' => 'DNA07X1A518081712A' 
     'urut' => '28205' 
     'lokasi_terakhir' => '211' 
    ] 
    2 => [ 
     'coil_no' => 'DNA07X1A420081707A' 
     'urut' => '28206' 
     'lokasi_terakhir' => '311' 
    ] 
]; 

$gudang = 'A'; 
$blok = 2; 

$output = array_map(function(&$value) use ($gudang, $blok) { 
    $value['lokasi_terakhir'] = $gudang.$blok.$value['lokasi_terakhir']; 
}, $input); 
+0

PHP 'yii \ base \ ErrorException'というメッセージが表示され、 '不正な文字列オフセット' lokasi_terakhir '' –

+0

が入力されました。入力配列から 'gudang'と 'blok'を削除してください。 –

0

はこれを試してみてください:

$new_arr = []; 
$str = $arr['gudang'] . $arr['blok']; 
for($i = 0; $i < count($arr)-2; $i++) { 
    $new_arr[$i] = $arr[$i]; 
    $new_arr[$i]['lokasi_terakhir'] = $str.$arr[$i]['lokasi_terakhir']; 
} 

print_r($new_arr); 
0
$array1 = [ 
    'gudang' => 'A', 
    'blok' => '2', 
    0 => [ 
     'coil_no' => 'DNA07X1C519081726A', 
     'urut' => '28204', 
     'lokasi_terakhir' => '411' 
    ], 
    1 => [ 
     'coil_no' => 'DNA07X1A518081712A', 
     'urut' => '28205', 
     'lokasi_terakhir' => '211' 
    ], 
    2 => [ 
     'coil_no' => 'DNA07X1A420081707A', 
     'urut' => '28206', 
     'lokasi_terakhir' => '311' 
    ] 
]; 
$length = count($array1); 
$array2 = array_splice($array1, 2, $length); 
echo json_encode($array2); 
関連する問題