我希望这不是一个含糊不清的问题,但这里也是如此。
我想循环遍历textfield_array
中存储的值,看看它们是否与$_POST
数组中的任何键匹配。如果他们这样做,我想将它们分配给an_array
数组。
似乎没有比赛,虽然我知道应该有!这是我的代码:
<?php
$an_array = array();
$textfield_array = array(
'item_no', 'button_text', 'text_field', 'drop_down_title'
);
foreach( $textfield_array as $textfield ){
if( in_array( $textfield, $_POST ) ){
$an_array[$textfield] = $_POST[$textfield];
}
}
?>
我是愚蠢的吗?或误解$_POST
数组如何工作?!
答案 0 :(得分:6)
您误解了in_array
的工作原理。 in_array
检查值。你想检查一下钥匙。
您可以使用isset
,也可以使用array_key_exists
(如果项目存在且值为null
,则返回true)。
foreach ($textfield_array as $textfield) {
if (isset($_POST[$textfield])) {
$an_array[$textfield] = $_POST[$textfield];
}
}
答案 1 :(得分:1)
使用array_intersect
功能。
$an_array = array_intersect(array_keys($_POST), $textfield_array);