2

我需要编码一个类似的数组:

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;

并且在下一页'将只收到第一个括号。

能给点提示吗?谢谢!

4

2 回答 2

2

通过在输入之前没有正确转义编码的 json 作为 INPUT 值,您犯了基本错误。一些字符,包括"需要被引用 ( "=> &quot;) 才能与 HTML 一起“工作”。所以有效的代码应该是:

echo '<input type="hidden" id="destinatariSMS" name="destinatariSMS" value="';
echo htmlspecialchars(json_encode($destinatariSMS));
echo '" />'.PHP_EOL;
于 2013-06-27T14:58:21.003 回答
0

当您输出到 html 时,您应该使用htmlspecialchars对输出进行编码,使其不会破坏 html:

 echo '<input type="hidden" id="destinatariSMS" name="destinatariSMS" value="';
     echo htmlspecialchars(json_encode($destinatariSMS));
 echo '" />'.PHP_EOL;

在您的情况下,您的 json 中的引号关闭了该value属性。

于 2013-06-27T14:58:11.007 回答