Here (given below) is some very simple php parsing multidimensional array stuff I am doing. I am just searching for ‘highlighting’ key and then storing some key value pairs in another array. Is there any better way to achieve this (I mean with respect to performance), rather than have n foreach loops to get to what you want.
$json_O=json_decode(file_get_contents($url),true);
foreach($json_O as $section1=>$items1){
if($section1==highlighting){
foreach($items1 as $section2=>$items2){
$key=$section2;
foreach($items2 as $section3=>$items3){
foreach ($items3 as $section4=>$items4){
$value=$items4;
$found[]=array('Key' => $key, 'Value' => $value);
Here is a sample php object I am trying to parse:
Array
(
[responseHeader] => Array
(
[status] => 0
[QTime] => 3
[params] => Array
(
[indent] => on
[start] => 0
[q] => russian
[fragsize] => 40
[hl.fl] => Data
[wt] => json
[hl] => on
[rows] => 8
)
)
[response] => Array
(
[numFound] => 71199
[start] => 0
[docs] => Array
......
......
[highlighting] => Array
(
[114360] => Array
(
[Data] => Array
(
[0] => AMEki has done it better <em>russian</em>...
....
....
Two things now: 1)Can I do it quicker? 2)Can I design it better?
this seems unneccesary
you could simply do
simplifying the rest is also possible, although this is untested
personally, I would just use the nested foreach loops though. It’s very easy to understand, while my creative use of recursive iterators is not.