PHP如何修复非法偏移类型错误?

时间:2013-07-12 05:09:33

标签: php

所以我有这个$ _POST,我试图检查它是否已设置但是当我这样做时,它会在标题中给出错误。

$ _POST包含数组中的数组。这可能就是原因。如果选中该复选框,则$ _POST具有值,否则不会发布任何内容。

$ _POST将包含的示例:

array() => 'item-one' => array( 102 ) => 'on'

我在PHP中使用它:

function testing( $db_id ) {
    $fields = array( 'one', 'two' );

    foreach( $fields as $field ) {
         if ( isset( $_POST['item-' . $field][$db_id] ) ) {
              // do something
         }
    }
}

感谢您的光临。

2 个答案:

答案 0 :(得分:1)

试试这个,

foreach( $fields as $field ) {
     if (isset($_POST['item-'.$field]) and in_array($db_id,$_POST['item-'.$field])){
          // do something
     }
}

或者你可以试试,

$fields=array('item-one','item-two')
foreach( $fields as $key=>$field ) {
     if (isset($_POST[$field]) and in_array($db_id,$_POST[$field])){
          // do something
     }
}

答案 1 :(得分:0)

尝试in_array

$fields = array( 'one', 'two' );

foreach( $fields as $field ) {
     if ( in_array($_POST['item-' . $field][$db_id], $fields) ) {
          // do something
     }
}