Как распечатать многомерный массив с помощью PHP?

У меня есть массив в PHP, который сохраняется в $_SESSION, Я хочу вывести массив в правильном читаемом формате и в виде таблицы.

Я пытался проверить содержимое массива как print_r($_SESSION['post-data']) и вывод как

Array ( [jcart_item_name] => Array ( [0] => Choley Bhature [1] => Onion Kulcha with
Chana and Raita [2] => Dal Makhani ) [jcart_item_id] => Array ( [0] => 1 [1] =>
5 [2] => 6 ) [jcart_item_price] =>Array ( [0] => 85 [1] => 90 [2] => 105 )
[jcart_item_qty] => Array ( [0] => 3 [1] => 1 [2] => 1[jcart_checkout] => PlaceOrder)

Я хочу только вывод jcart_item_name, jcart_item_qty а также jcart_item_price в нижнем формате

Item Name       Item Qty    Item Price
--------------------------------------
Choley Bhature     3          50

0

Решение

Попробуйте разделить этот массив на несколько массивов, например: jcart_item_name, jcart_item_qty и jcart_item_price — это три массива. Тогда, поскольку ваши массивы имеют одинаковый размер, вы можете использовать функцию count() или же sizeof() чтобы получить размер. Тогда вы получите:
// Теперь у нас есть эти три массива
$ Arr1; // массив jcart_item_name
$ Arr2; // массив jcart_item_qty
$ Arr3; // массив jcart_item_price

$size = sizeof($arr1); //all arrays size is the samefor ($i=0; $i < $size; $i++) {
//DO WHAT YOU WANT
echo $arr1[$i]."<br>";
echo $arr2[$i]."<br>";
echo $arr3[$i]."<br>";
}
0

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

Звучит вкусно …
Ваш массив должен быть ассоциативным?

<?php
$myArray = Array (
Array ( 1, 5, 6),
Array ('Choley Bhature', 'Onion Kulcha with Chana and Raita', 'Dal Makhani'),
Array (3, 1, 1),
Array (85, 90, 105));

echo "<table><tr><td>Id</td><td>Item Name</td><td>Qty.</td><td>Price</td></tr><br/>";
for ($j=0; $j<count($myArray[0]); $j++){
echo "<tr><td>".$myArray[0][$j]."</td><td>".$myArray[1][$j]."</td><td>".$myArray[2][$j]."</td><td>".$myArray[3][$j]."</td>";
}
echo "</table>";
?>
0

Я уверен, что вы можете выполнить форматирование самостоятельно, но именно так вы получаете нужные значения …

foreach($_SESSION['jcart_item_name'] as $key => $item) {

echo $item . ' - ' . $_SESSION['jcart_item_qty'][$key] . ' - ' . $_SESSION['jcart_item_price'][$key] . '<br>';

}

Я бы посоветовал структурировать ваш массив иначе … как-то так

$_SESSION['jcart_items'] = array(
array('name' => 'Choley Bhature', 'price' => 85, 'qty' => 3),
array('name' => 'Onion Kulcha with Chana and Raita', 'price' => 90, 'qty' => 1)
...etc
);

Таким образом, вы можете сделать простой цикл foreach на $ _SESSION [‘jcart_items’], и он станет более читабельным

foreach($_SESSION['jcart_items'] as $k => $item) {
echo $item['name'] . ' - ' . $item ['qty'] . ' - ' . $item['price'] . '<br>';
}
0
По вопросам рекламы [email protected]