【问题标题】:php check if array has subarray not workingphp检查数组是否有子数组不起作用
【发布时间】:2018-06-06 16:38:52
【问题描述】:

我正在尝试检查array 是否有subarray。但它不起作用。例如,虽然检查了main,其中有subarray,但它回显,it hasn't submenu这里有什么问题?

<li>
    <input type="checkbox" name="menu[]" value="main">
    <ul>
        <li><input type="checkbox" name="menu[0][]" value="sub-main1"></li>
        <li><input type="checkbox" name="menu[0][]" value="sub-main2"></li>
        <li><input type="checkbox" name="menu[0][]" value="sub-main3"></li>
     </ul>
</li>

<li><input type="checkbox" name="menu[]" value="sport"></li>
<li><input type="checkbox" name="menu[]" value="art"></li>

PHP

foreach ($_POST["menu"] AS $key => $item){
    if (is_array($item)){
        echo "It has submenu";
    }
    else{
        echo "it hasn't submenu";
    }
}

【问题讨论】:

  • 首先检查var_dump($_POST["menu"]) 的结果,以确保您得到了预期的结果。
  • @Mr Glass 我已经做了-var_dump($_POST["menu"]),它打印出准确的数组。我在问嵌套数组有什么问题。
  • 请发布 var_dump 的结果。我认为 PHP 没有明显问题,因此检查数据会有所帮助。

标签: php arrays checkbox foreach


【解决方案1】:

更改时有效

if (is_array($item)){

if(is_array($_POST["menu"][$key])){

【讨论】:

    猜你喜欢
    • 2012-04-15
    • 2013-01-31
    • 2011-03-09
    • 1970-01-01
    • 2012-01-15
    • 2011-08-01
    相关资源
    最近更新 更多