簡體   English   中英

計算以“custom_”開頭的 $_POST 回復

[英]Count $_POST reply starting by "custom_"

在我的網站上,我們可以創建一個自定義字段數量未知的產品。 要將我的數據插入數據庫中,我想知道以“參數”開頭的輸入數量(在下面的數據中)。

如何計算()以“參數”開頭的 POST 結果? 謝謝

array(6) {
    ["quantity"]=> string(8) "200"
    ["price"]=> string(4) "150"
    ["product_supplier"]=> string(4) "1"
    ["parameter1"]=> string(4) "text"
    ["parameter2"]=> string(7) "Exemple"
    ["parameter3"]=> string(4) "text"
}

使用array_keys獲取數組的鍵,然后使用foreacharray_reduce進行迭代,例如

$count = 0;
foreach (array_keys($array) as $key) {
    if (strpos($key, 'parameter') === 0) $count++;
}
echo "$count parameters\n";

$count = array_reduce(array_keys($array), function ($c, $v) { 
    if (strpos($v, 'parameter') === 0) $c++; 
    return $c; },
    0);
echo "$count parameters\n";

輸出(對於您的示例數據):

3 parameters

3v4l.org 上的演示

您可能想考慮使用 PHP 的數組符號命名參數輸入,例如

<input type="text" name="parameters[]" />

然后您所有的參數輸入將顯示為$_POST['parameters']的數組,您可以通過以下方式輕松獲取計數

echo count($_POST['parameters']);

它可能會使處理參數變得更容易,因為您可以使用簡單的foreach

foreach ($_POST['parameters'] as $parameter) {
    // do stuff
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM