我需要编码一个类似的数组:
Array
(
[0] => 393922111111
[1] => 393433333333
[2] => 393555555555
)
使用json_encode。
我得到了这个:
["393922111111","393433333333","393555555555"]
这似乎不正确。 即我把它放进了
echo '<input type="hidden" id="destinatariSMS" name="destinatariSMS" value="';
echo json_encode($destinatariSMS);
echo '" />'.PHP_EOL;
并且在下一页中只会收到第一个括号。
你能给我一些暗示吗?谢谢!答案 0 :(得分:2)
在将输入作为INPUT值之前,没有正确地转义编码的json会导致基本错误。某些字符(包括"
)需要引用("
=&gt; "
)才能“使用”HTML。所以有效的代码应该是:
echo '<input type="hidden" id="destinatariSMS" name="destinatariSMS" value="';
echo htmlspecialchars(json_encode($destinatariSMS));
echo '" />'.PHP_EOL;
答案 1 :(得分:0)
输出为html时,应使用htmlspecialchars
对输出进行编码,使其无法破坏html:
echo '<input type="hidden" id="destinatariSMS" name="destinatariSMS" value="';
echo htmlspecialchars(json_encode($destinatariSMS));
echo '" />'.PHP_EOL;
在您的情况下,json中的引号会关闭value
属性。