下面给出的是我的代码:
$array=$_POST[number];
$jstring = json_decode($array,true);
$sa = "'".implode("','",$jstring)."'";
错误如下:
Warning: implode() [function.implode]: Invalid arguments passed <root> on line <line no>
Number
是JSON
个对象。有人可以帮我吗?请。 提前致谢。
修改
Number是JSON
字符串。我需要它以逗号分隔。号码保存手机联系人的电话号码。我需要在Sql Query
中使用每个号码。
问题已解决: 我解决了这个问题。与他人分享。
$array = $_POST[number];
$json = (array) json_decode($array,true);
$sa = "'" . implode(',', $json) . "'";
答案 0 :(得分:2)
试试这个:
$json = $_POST['number']; // $json is a json string
$object = json_decode($json, JSON_FORCE_OBJECT); // stdClass => array
echo implode("','", $object); // This works if $object is not multiple array
答案 1 :(得分:1)
如果您在调试时遇到问题,请使用var_dump,或者甚至与gettype()结合使用您正试图崩溃的参数。你永远不需要内爆JSON对象,它们被完美地解码。确保您知道CSV(逗号分隔值)和JSON之间的区别。
CSV:
Believe,it,or,not,I,am,CSV
而JSON:
{"itbetrue":"ibeJSON"}
{"iam":["an","array","in","JSON"]}
如果您正在尝试获取JSON解码数组的值,请按以下方式使用它:
$csv = implode(',', array_values($json));
答案 2 :(得分:0)
确保值$ _POST [number]在尝试解码之前以json格式出现...可以var_dump并检查