PHP / WP - 遍历多维 POST 参数



遍历 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
    ");
}

希望对您有所帮助!

最新更新