我环顾四周试图解码,但它似乎对我不起作用。
//Receive the RAW post responseData.
$contentJSON = trim(file_get_contents("php://input"));
//Attempt to decode the incoming RAW post responseData from JSON.
$contentDECODED = json_decode($contentJSON , true);
$action = mysqli_real_escape_string($connection, $contentDECODED["action"]);
$customerID = intval(mysqli_real_escape_string($connection, $contentDECODED["customerId"]));
$productID_Array = $contentDECODED[gArrayOfProductIds];
var_dump($productID_Array)
将输出:
array(3) {
[0]=>
array(1) {
["productId"]=>
int(52979957765)
}
[1]=>
array(1) {
["productId"]=>
int(69956304901)
}
[2]=>
array(1) {
["productId"]=>
int(69888278533)
}
}
但var_dump(implode(",",array_map('intval',$productID_Array)));
会输出:
"1,1,1"
和var_dump(implode(",",$productID_Array));
将输出:
"Array,Array,Array"
有人会对我的问题有所了解吗?
那么什么是从json消毒输入的最好方法呢?
非常感谢任何可能提供帮助的人!
答案 0 :(得分:1)
因为它是多维数组,所以在加入之前需要获取“product Id”字段的值
implode(",",array_map('intval', array_column($productID_Array, "productId")))