2017-10-12 88 views
0

通過多維POST參數Array迭代的正確方法是什麼?來自Chrome Form Data Console的示例如下:PHP/WP - 遍歷多維POST參數

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查詢? 謝謝!

回答

1

正如您的示例中所述,我認爲您可以同時迭代兩個數組。如果「優先級」和「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 
    "); 
} 

希望它有幫助!