Перемещение определенных элементов из нескольких массивов в новые массивы

У меня есть 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, которую мы могли бы использовать каким-то странным способом для достижения этой цели?

Спасибо за Ваш ответ.

1

Решение

Я думаю, что это работа миг. Все массивы должны иметь такой же длины.

$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']
2

Другие решения

Вы можете использовать array_column в комбинированном массиве, живое демо.

array_column([$item_name, $item_price, $item_quality], 0);
2

<?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>";
?>
0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector