douchiwan1503 2016-09-21 23:56
浏览 38
已采纳

array_filter留下一个0和一个null

I am using array_filter to filter out 0's and nulls' from an array.

Code:

while ($row1 = $sth1->fetch(PDO::FETCH_ASSOC)){

    $rows_shared_id[$row1['shared_id']]['shared_id'] = $row1['shared_id'];

}

$erows_shared_id = array_filter($rows_shared_id);

foreach($erows_shared_id as $evalue){

    echo $evalue['shared_id'] . "<br>";

}

The results, without array_filter, have multiple cells with a value of 0, or null. With array_filter, it filters out all 0's and nulls, except for the first of each. So, I am left with an array with one 0 and one null value. Why is it deleting all, but the first and how do I fix it? Thanks!

  • 写回答

1条回答 默认 最新

  • donglu1913 2016-09-22 00:00
    关注

    array_filter works on a single level array, but yours is a two-level array.

    Try mapping array_filter to sub-arrays of your array:

    $erows_shared_id = array_map('array_filter', $rows_shared_id);
    

    You could then filter the array again to remove any keys that have empty arrays as children.

    $erows_shared_id = array_filter(array_map('array_filter', $rows_shared_id));
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 vue3加ant-design-vue无法渲染出页面
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 路易威登官网 里边的参数逆向
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程
  • ¥20 模型在y分布之外的数据上预测能力不好如何解决
  • ¥15 processing提取音乐节奏
  • ¥15 gg加速器加速游戏时,提示不是x86架构