dsgw8802 2014-02-08 08:45
浏览 67
已采纳

检查空数组时未定义的偏移量

I have an array like this i want to remove the last array which does not have any values

i used array-filter but its not filtering the array after filter it should

get 0,1,2 only .

$res_arr= array(
    0=>array(1,2,3,6,7),
    1=>array(7,5,3,8),
2=>array(6,5,9,8),
3=>array(),
);

$array1=array();

foreach($res_arr as $array_key=>$array_item)
{
  if($array1[$array_key] == 0)
  {
    unset($array1[$array_key]);
  }
}

 print_r($array1);

Above code i get Undefined offset: 0 Undefined offset: 1 Undefined offset: 2

  • 写回答

2条回答 默认 最新

  • doukong9316 2014-02-08 08:52
    关注

    Short-cut method.

    $new_arr=array_filter($res_arr,'count');
    print_r($new_arr);
    

    <kbd>Demo</kbd>


    The long way..

    You could so something like this

    <?php
    $res_arr= array(
        0=>array(1,2,3,6,7),
        1=>array(7,5,3,8),
        2=>array(6,5,9,8),
        3=>array(),
    );
    
    $i=0;
    foreach($res_arr as $arr)
    {
        if(count($arr)==0)
        {
            unset($res_arr[$i]);
        }
        $i++;
    }
    print_r($res_arr);
    

    OUTPUT :

    Array
    (
        [0] => Array
            (
                [0] => 1
                [1] => 2
                [2] => 3
                [3] => 6
                [4] => 7
            )
    
        [1] => Array
            (
                [0] => 7
                [1] => 5
                [2] => 3
                [3] => 8
            )
    
        [2] => Array
            (
                [0] => 6
                [1] => 5
                [2] => 9
                [3] => 8
            )
    
    )
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用