简体   繁体   English

从多维PHP数组中提取特定数据

[英]Pull Specific Data From Multidimensional PHP Array

I'm trying to pull just the 'message' data from each of these arrays contained within this multidimensional array, but can't figure out how to get deep enough in the array to pull it. 我试图从多维数组中包含的每个数组中仅提取“消息”数据,但无法弄清楚如何深入数组以将其提取。 The page I'm using is returning the data this way, so there is no way I can edit it to be returned differently. 我正在使用的页面以这种方式返回数据,因此我无法将其编辑为以其他方式返回。

Array
(
[0] => stdClass Object
    (
        [revision_cache] => stdClass Object
            (
                [revision] => 14
                [email] => email@email.com
                [changed_dirs] => Array
                    (
                    )

                [account_id] => 133673
                [message] => Deleted unneeded help desk files.
                [hash_id] => 
                [author] => asdfasfd
                [too_large] => 
                [user_id] => 308011
                [repository_id] => 401677
                [changed_files] => Array
                    (
                        [0] => Array
                            (
                                [0] => hdeskdelete.php
                                [1] => delete
                            )

                        [1] => Array
                            (
                                [0] => hdeskrespond.php
                                [1] => delete
                            )

                        [2] => Array
                            (
                                [0] => hdesktickets.php
                                [1] => delete
                            )

                    )

                [time] => 2012/08/13 17:01:58 -0500
                [changed_properties] => 
            )

    )

[1] => stdClass Object
    (
        [revision_cache] => stdClass Object
            (
                [revision] => 13
                [email] => email@email.com
                [changed_dirs] => Array
                    (
                    )

                [account_id] => 133673
                [message] => Major updates and restyling of Help Desk system.
                [hash_id] => 
                [author] => asdfasdfasdf
                [too_large] => 
                [user_id] => 308011
                [repository_id] => 401677
                [changed_files] => Array
                    (
                        [0] => Array
                            (
                                [0] => members/hdeskdelete.php
                                [1] => delete
                            )

                        [1] => Array
                            (
                                [0] => Array
                                    (
                                        [0] => helpdesk.php
                                        [1] => members/helpdesk.php
                                        [2] => 3
                                    )

                                [1] => copy
                            )

                        [2] => Array
                            (
                                [0] => members/hdeskrespond.php
                                [1] => delete
                            )

                        [3] => Array
                            (
                                [0] => members/hdesktickets.php
                                [1] => delete
                            )

                        [4] => Array
                            (
                                [0] => Array
                                    (
                                        [0] => hdeskdelete.php
                                        [1] => members/hdeskdelete.php
                                        [2] => 3
                                    )

                                [1] => copy
                            )

                        [5] => Array
                            (
                                [0] => members/helpdesk.php
                                [1] => delete
                            )

                        [6] => Array
                            (
                                [0] => Array
                                    (
                                        [0] => hdeskrespond.php
                                        [1] => members/hdeskrespond.php
                                        [2] => 3
                                    )

                                [1] => copy
                            )

                        [7] => Array
                            (
                                [0] => Array
                                    (
                                        [0] => hdesktickets.php
                                        [1] => members/hdesktickets.php
                                        [2] => 3
                                    )

                                [1] => copy
                            )

                    )

                [time] => 2012/08/13 17:01:20 -0500
                [changed_properties] => 
            )

    )

[2] => stdClass Object
...

So basically, this block of arrays goes on for some time. 因此,基本上,该数组块会持续一段时间。 I only need to pull the value each time that 'message' is the key. 每当“消息”是关键时,我只需要提取值即可。 Any ideas? 有任何想法吗?

To loop through all elements in the array while checking if the message is there, something like this: 在检查消息是否存在时循环遍历数组中的所有元素,如下所示:

foreach($inputArray as $element)
{
    if( ! empty($element->revision_cache->message)
    {
        //do something with it
    }
}

应该这样做:

$message = $arrayname[0]["revision_cache"]["message"];

Try 尝试

foreach($array as $item){
   echo $item->revision_cache->message."<br>";
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM