问题
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?
回答1:
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
}
}
回答2:
This should do it:
$message = $arrayname[0]["revision_cache"]["message"];
回答3:
Try
foreach($array as $item){
echo $item->revision_cache->message."<br>";
}
来源:https://stackoverflow.com/questions/11947014/pull-specific-data-from-multidimensional-php-array