首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何筛选stdClass对象

如何筛选stdClass对象
EN

Stack Overflow用户
提问于 2015-03-13 12:50:03
回答 1查看 3.2K关注 0票数 1

下面是将JSON放入数组的数据

代码语言:javascript
复制
stdClass Object
(
    [success] => 1
    [total] => 850
    [message] => 
    [data] => Array
        (
            [0] => stdClass Object
                (
                    [BRANCH] => 01
                    [ZONE] => 03
                    [BLOCK] => 04
                    [MATL] => ST
                    [LENGTH] => 516.492
                )

            [1] => stdClass Object
                (
                    [BRANCH] => 01
                    [ZONE] => 03
                    [BLOCK] => 05
                    [MATL] => SCP
                    [LENGTH] => 19.177
                )

            [2] => stdClass Object
                (
                    [BRANCH] => 01
                    [ZONE] => 03
                    [BLOCK] => 05
                    [MATL] => ST
                    [LENGTH] => 519.355
                )

            [3] => stdClass Object
                (
                    [BRANCH] => 01
                    [ZONE] => 03
                    [BLOCK] => 06
                    [MATL] => SCP
                    [LENGTH] => 59.713
                )

            [4] => stdClass Object
                (
                    [BRANCH] => 01
                    [ZONE] => 03
                    [BLOCK] => 06
                    [MATL] => ST
                    [LENGTH] => 476.866
                )

            [5] => stdClass Object
                (
                    [BRANCH] => 01
                    [ZONE] => 04
                    [BLOCK] => 03
                    [MATL] => SCP
                    [LENGTH] => 64.875
                )

            [6] => stdClass Object
                (
                    [BRANCH] => 01
                    [ZONE] => 04
                    [BLOCK] => 03
                    [MATL] => ST
                    [LENGTH] => 44.888
                ) ....

我想将Array中的数据过滤为ZONE = '03‘。

有没有人能给出这样做的示例代码?

谢谢你。

EN

回答 1

Stack Overflow用户

发布于 2015-03-13 12:56:07

您可以使用array_filter http://php.net/manual/en/function.array-filter.php

代码语言:javascript
复制
$input = (object)array(
  'success'=>1,
  'total'=>850,
   'data'=>array(
    (object)array('ZONE'=>'01'),
    (object)array('ZONE'=>'04'),
    (object)array('ZONE'=>'04'),
    (object)array('ZONE'=>'04'),
    (object)array('ZONE'=>'03'),
    (object)array('ZONE'=>'02')
  )
);

$output = array_filter($input->data,function($object){
  return $object->ZONE == '04';
});

print_r($output);

array_filter的工作方式是测试数组中的每一项并返回TRUE或FALSE。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29025075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档