[英]Displaying array from javascript in php
我有一个我在 javascript 中制作的数组,有 2 列 id 和数量
items.push({
id : id,
quantity: quantity
})
然后我使用 stringify 将其变成 jsonstring,如图所示
var jsonString = JSON.stringify(items);
$.ajax({
type: "POST",
url: "order_process.php",
data: {data : jsonString},
cache: false,
success: function(){
window.location.href = "order_confirmation.php";
}
});
然后我将其发布到 php 并使用 json_decode 将其转换为 php 数组。 如图所示
$_SESSION['cart'] = json_decode( $_POST['data'] );
问题是当我在 php 中使用 print_r() function 时,这是我得到的 output
Array (
[0] => stdClass Object ( [id] => 12 [quantity] => 1 )
[1] => stdClass Object ( [id] => 13 [quantity] => 1 )
[2] => stdClass Object ( [id] => 10 [quantity] => 1 )
)
我想要的output如下图,但是我不知道怎么格式化所以得到如图
ID | 数量 |
---|---|
12 | 1 |
13 | 2 |
任何帮助将非常感激
使用true
作为json_decode()
的第二个参数来获取数组而不是 object。 然后循环创建你的表:
$_SESSION['cart'] = json_decode( $_POST['data'], true );
echo '<table><tr><th>ID</th><th>Quantity</th></tr>';
foreach ($_SESSION['cart'] as $item) {
echo '<tr><td>'.$item['id'].'</td><td>'.$item['quantity'].'</td></tr>';
}
echo '</table>';
您在 JS 中所做的并不是创建与在 PHP 中相同的关联数组。
您实际上正在执行 JSON 解码时得到的结果:您推送(附加到数组)具有两个属性的 object(大括号)。
您可以对 PHP 中的 output 阵列执行的操作是:
无论如何,您都需要知道如何使用 HTML 包装数据,这样您才能真正显示表格。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.