在我的网站上,我们可以创建带有未知数量的自定义字段的产品。要将数据插入数据库,我想知道以“参数”开头的输入数(在下面的数据中)。
如何计算以“ parameter”开头的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"
}
答案 0 :(得分:0)
使用array_keys
获取数组的键,然后使用foreach
或array_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
您可能想考虑使用PHP的数组表示法来命名参数输入
<input type="text" name="parameters[]" />
然后您所有的参数输入将在$_POST['parameters']
中显示为数组,您可以通过以下方式轻松获得计数
echo count($_POST['parameters']);
您也可以使用简单的foreach
来简化参数的处理:
foreach ($_POST['parameters'] as $parameter) {
// do stuff
}