使用隐藏输入中的json_encode将php数组作为json元素传递

时间:2016-06-27 18:17:59

标签: javascript php arrays json

我正在尝试使用javascript中的数组,因此我尝试将json_encode我的php数组作为隐藏值。这给了我这个错误注意:数组转换为字符串..这不可能吗?我是不是错了?

$pic_array = array();
$titles = array();
$descriptions = array();
while ($row = $result->fetch_assoc()) {
    $pic_array[$count] = $row['pic_url'];
    $titles[$count] = $row['title'];
    $descriptions[$count] = $row['description'];
    $count++;
}

echo "<input id='json_pics' type='hidden' value='json_encode($pic_array)'/>";

2 个答案:

答案 0 :(得分:2)

正确的代码是

echo "<input id='json_pics' type='hidden' value='" . json_encode($pic_array) . "'/>";

在您当前的代码中,php不明白您尝试使用json_encode函数,只看到$pic_array变量是数组。

答案 1 :(得分:0)

为了更好的可读性,我建议使用printf插入json编码的字符串。

echo sprintf("<input id='json_pics' type='hidden' value='%s'/>", json_encode($pic_array));