У меня есть 3 массива:
$item_name = array( 'Apples', 'Oranges' );
$item_price = array( '29', '39' );
$item_quantity = array( '5', '10' );
Что мне нужно сделать, это поместить каждый элемент из первого и второго индекса каждого массива в его собственный массив (надеюсь, это имеет смысл), вот пример того, чего я хочу достичь:
$my_array1 = array( 'Apples', '29', '5' );
$my_array2 = array( 'Oranges', '39', '10' );
Обратите внимание, что в каждом массиве может быть больше элементов, но каждый массив будет иметь одинаковое количество элементов.
Я в тупике, есть ли какая-нибудь дерзкая функция массива PHP, которую мы могли бы использовать каким-то странным способом для достижения этой цели?
Спасибо за Ваш ответ.
Я думаю, что это работа миг. Все массивы должны иметь такой же длины.
$item_name = array( 'Apples', 'Oranges' );
$item_price = array( '29', '39' );
$item_quantity = array( '5', '10' );
$my_arrays = array();
foreach($item_name as $index=>$name){
$my_arrays[$index] = array($item_name[$index], $item_price[$index], $item_quantity[$index]);
}
У вас будет массив my_arrays
массивов. Эти массивы содержат необходимую вам информацию.
$my_arrays[0]: ['Apples', '29', '5']
$my_arrays[1]: ['Oranges', '39', '10']
Вы можете использовать array_column в комбинированном массиве, живое демо.
array_column([$item_name, $item_price, $item_quality], 0);
<?php
$item_name = array( 'Apples', 'Oranges' );
$item_price = array( '29', '39' );
$item_quantity = array( '5', '10' );
$my_arrays = array();
for($i=0; $i<count($item_name);$i++){
$my_arrays[$i][0]=$item_name[$i];
$my_arrays[$i][1]=$item_price[$i];
$my_arrays[$i][2]=$item_quantity[$i];
}
echo "<pre>";
print_r($my_arrays);
echo "</pre>";
?>