PHP - 从$ _POST中提取键值

时间:2015-06-07 22:34:37

标签: php arrays post

在我的$ _POST数组中,我有以下值:

[txtPe_20_Table1] => 2.3
[txtPa_12_Table1] => 0.00
[txtPa_25_Table1] => 0.00
[txtPa_35_Table1] => 0.00
[txtPa_50_Table1] => 0.00
[txtPa_100_Table1] => 0.00
[txtPa_200_Table1] => 0.00
[txtPr_12_Table1] => 0.00

现在,我想要做的是仅提取以' txtPa _'开头的键中的数字值。

这样做的最佳方法是什么?我应该使用正则表达式还是只是循环遍历数组,搜索以' txtPa _'开头的子字符串?

1 个答案:

答案 0 :(得分:3)

虽然最好构建表单,以便将键组合在一起。如果你不能,那么你可以这样做:

foreach($_POST as $key=>$var){
  if(substr($key, 0, 6)=='txtPa_'){
  //so something with $var
  }
}

来自@ Rizier123

$filtered = array_filter(function($k){ return strpos($k, "txtPa_") === 0; },ARRAY_FILTER_USE_KEY);

表单更改选项

...

<input type="text" name="txtPa[12_Table1]">
<input type="text" name="txtPa[25_Table1]">

等 然后你有数组$_POST[txtPa]