繁体   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