Chcem sa spýtať, ako nahradiť vnútorný kľúč v multidimenzionálnom poli. Mám multidimenzionálne pole:
$array1=
array(array(5000, 6, 325, 3, 3, 517000000),
array( 20000, 5, 217, 5, 3, 1692000000)
);
Druhé pole je
$array2=array(1,2,3,4,5,6);
Očakával som, že nové pole je
Array(
[0] => Array
(
[1] => 5000
[2] => 6
[3] => 325
[4] => 3
[5] => 3
[6] => 517000000
)
[1] => Array
(
[1] => 20000
[2] => 5
[3] => 217
[4] => 5
[5] => 3
[6] => 1692000000
))
Vyskúšal som tento kód nižšie ďalším príspevkom PHP Nahradiť multidimenzionálne maticové kľúče, ale nemôžem priradiť hodnotu svojho poľa1
foreach($array2 as $array2 ){
for($k=0;$k<sizeof($array2);$k++){
for($l=0;$l<$count;$l++){
$last[$l][$array2] = $array1[$k][$l];
}
$i += $count;
}
}
Ďakujem
odpovede:
0 pre odpoveď č. 1Ako @Rizier navrhol vo svojom komentári, môžete to urobiť pomocou array_map () a array_combine ().
<?php
$array1=
array(array(5000, 6, 325, 3, 3, 517000000),
array( 20000, 5, 217, 5, 3, 1692000000)
);
$array2 = array(1, 2, 3, 4, 5, 6);
foreach($array1 as $arr1){
$array3[] = array_combine($array2, $arr1);
}
var_dump($array3);
výkon
array (size=2)
0 =>
array (size=6)
1 => int 5000
2 => int 6
3 => int 325
4 => int 3
5 => int 3
6 => int 517000000
1 =>
array (size=6)
1 => int 20000
2 => int 5
3 => int 217
4 => int 5
5 => int 3
6 => int 1692000000
0 pre odpoveď č. 2
vyskúšať
<?php
$array1=
array(array(5000, 6, 325, 3, 3, 517000000),
array( 20000, 5, 217, 5, 3, 1692000000)
);
$newArray = array();
foreach($array1 as $arr){
array_unshift($arr,"");
unset($arr[0]);
$newArray[] = $arr;
}
print_r($newArray);
bude to mať rovnaký výstup, aký potrebujete. dúfam, že to pomôže :)