遍历 POST 参数的多维数组的正确方法是什么?下面来自 Chrome 表单数据控制台的示例:
order[0][priority][]:1
order[0][priority][]:4
order[0][priority][]:2
order[0][priority][]:3
order[0][serviceId][]:28
order[0][serviceId][]:31
order[0][serviceId][]:29
order[0][serviceId][]:30
categoryId:5
我想使用上面的 POST 参数在循环内更新数据库表。
$wpdb->query("
UPDATE $table SET order=$priority
WHERE category_id=$categoryId
AND service_id=$serviceId
");
订单[优先级]的第一次出现与订单[服务ID]的第一次出现是紧凑的。
问题是如何创建foreach以运行UPDATE查询?谢谢!
如您的示例中所述,我认为您可以同时迭代两个数组。如果"priority"和"servicesId"的大小相同,您可以执行以下操作:
$order = $_POST['order'];
$categoryId = $_POST['categoryId'];
$size = count($order[0]["priority"]);
foreach ($i=0; $i<$size; $i++) {
$priority = $order[0]["priority"][$i];
$serviceId = $order[0]["serviceId"][$i];
$wpdb->query("
UPDATE $table SET order=$priority
WHERE category_id=$categoryId
AND service_id=$serviceId
");
}
希望对您有所帮助!