0

我在 JavaScript 中创建了一个有效的 JSON 对象:

[
    {
        "code": "2F-58S",
        "price": "123,13"
    },
    {
        "code": "2F-58S",
        "price": "123,13"
    }
]

我在 PHP 中阅读时遇到问题:

$productsArr = json_decode($_GET['object']);
foreach($productsArr as $article)
{
    $html .='<td>'.$article->code.'</td>';
    $html .='<td>'.$article->price.'</td></tr>';
}

我收到一个错误,即foreach()循环未按应有的方式定义。我在这里缺少什么?

编辑:

似乎我没有使用 GET 方法接收完整的 JSON 值。我得到类似的东西:[{"code":"2F-58S","price":"123,13"},{"code":

编辑2:

从对象读取 HTML 标记时发生JSON 对象break,当您到达此 html 标记时会创建错误:<p><strong>EnMotion&nbsp;</strong></p>\n\n<p><strong>impulse</strong></p>

4

2 回答 2

0

尝试这个:

$productsArr = file_get_contents('php://input');
foreach($productsArr as $article)
{
    $html .='<td>'.$article->code.'</td>';
    $html .='<td>'.$article->price.'</td></tr>';
}
于 2013-07-19T11:31:22.567 回答
0

尝试正确,使用 json_decode。

if(!empty($_GET['object'])){
  $productsArr = json_decode($_GET['object'],true);// this will return array
}

〜K

在职的:

<?php 
 $a = '[
    {
        "code": "2F-58S",
        "price": "123,13"
    },
    {
        "code": "2F-58S",
        "price": "123,13"
    } ]'; 
 $productsArr = json_decode($a,true); 
 print_r($productsArr); 
 $html = ''; 
 foreach($productsArr as $article) { 
    $html .='<td>'.$article['code'].'</td>';
    $html .='<td>'.$article['price'].'</td></tr>';
    echo $html;
} 
?>

输出:

<td>2F-58S</td><td>123,13</td></tr><td>2F-58S</td><td>123,13</td></tr> 
于 2013-07-19T11:32:03.197 回答