PHP in_array为$ _POST

Ric*_*ney 1 php arrays foreach

我希望这个问题不是太模糊,但是这里有.

我想遍历存储在其中的值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];
  }
}
?>
Run Code Online (Sandbox Code Playgroud)

我愚蠢吗?或误解$_POST数组如何工作?!

igo*_*orw 6

你误解了它是如何in_array运作的.in_array检查值.你想检查钥匙.

您可以使用isset,也可以使用array_key_exists(如果项目存在且值为,则返回true null).

foreach ($textfield_array as $textfield) {
    if (isset($_POST[$textfield])) {
        $an_array[$textfield] = $_POST[$textfield];
    }
}
Run Code Online (Sandbox Code Playgroud)