Accessing Arrays inside Arrays In PHP
Hello I want to access inactive tags inside this array any idea?
stdClass::__set_state(
array
'languages' =>
array
76 =>
array
'id' => string '76' (length=2)
'tag' => string 'Deutsch' (length=7)
'targets' =>
array
81 =>
array
'id' => string '81' (length=2)
'tag' => string 'Deutschland' (length=11)
'tags' =>
array
7866 =>
array
'id' => string '7866' (length=4)
'tag' => string 'automobile' (length=10)
17800 =>
array
'id' => string '17800' (length=5)
'tag' => string 'seat leon' (length=9)
17801 =>
array
'id' => string '17801' (length=5)
'tag' => string 'seat leon cupra' (length=15)
'inactiveTags' =>
array
195 =>
array
'id' => string '195' (length=3)
'tag' => string 'auto' (length=4)
17804 =>
array
'id' => string '17804' (length=5)
'tag' => string 'coupès' (length=6)
17805 =>
a开发者_如何学Pythonrray
'id' => string '17805' (length=5)
'tag' => string 'fahrdynamik' (length=11)
901 =>
array
'id' => string '901' (length=3)
'tag' => string 'fahrzeuge' (length=9)
17802 =>
array
'id' => string '17802' (length=5)
'tag' => string 'günstige neuwagen' (length=17)
1991 =>
array
'id' => string '1991' (length=4)
'tag' => string 'motorsport' (length=10)
2154 =>
array
'id' => string '2154' (length=4)
'tag' => string 'neuwagen' (length=8)
10660 =>
array
'id' => string '10660' (length=5)
'tag' => string 'seat' (length=4)
17803 =>
array
'id' => string '17803' (length=5)
'tag' => string 'sportliche ausstrahlung' (length=23)
74 =>
array
'id' => string '74' (length=2)
'tag' => string 'web 2.0' (length=7)
'categories' =>
array
16082 =>
array
'id' => string '16082' (length=5)
'tag' => string 'Auto & Motorrad' (length=15)
51 =>
array
'id' => string '51' (length=2)
'tag' => string 'Blogosphäre' (length=11)
66 =>
array
'id' => string '66' (length=2)
'tag' => string 'Neues & Trends' (length=14)
68 =>
array
'id' => string '68' (length=2)
'tag' => string 'Privat' (length=6)
You can access the inactive tags array with (assuming $myArray contains the array)
$myArray['inactiveTags'];
Your question doesn't seem to go beyond accessing the contents of the inactiveTags key so I can only speculate with what your final goal is.
The first key:value pair in the inactiveTags array is
array ('195' => array(
'id' => 195,
'tag' => 'auto')
)
To access the tag value, you would use
$myArray['inactiveTags'][195]['tag']; // auto
If you want to loop through each inactiveTags element, I would suggest:
foreach($myArray['inactiveTags'] as $value) {
print $value['id'];
print $value['tag'];
}
This will print all the id and tag values for each inactiveTag
Edit:: For others to see, here is a var_dump of the array provided in the question since it has not readible
array 'languages' => array 76 => array 'id' => string '76' (length=2) 'tag' => string 'Deutsch' (length=7) 'targets' => array 81 => array 'id' => string '81' (length=2) 'tag' => string 'Deutschland' (length=11) 'tags' => array 7866 => array 'id' => string '7866' (length=4) 'tag' => string 'automobile' (length=10) 17800 => array 'id' => string '17800' (length=5) 'tag' => string 'seat leon' (length=9) 17801 => array 'id' => string '17801' (length=5) 'tag' => string 'seat leon cupra' (length=15) 'inactiveTags' => array 195 => array 'id' => string '195' (length=3) 'tag' => string 'auto' (length=4) 17804 => array 'id' => string '17804' (length=5) 'tag' => string 'coupès' (length=6) 17805 => array 'id' => string '17805' (length=5) 'tag' => string 'fahrdynamik' (length=11) 901 => array 'id' => string '901' (length=3) 'tag' => string 'fahrzeuge' (length=9) 17802 => array 'id' => string '17802' (length=5) 'tag' => string 'günstige neuwagen' (length=17) 1991 => array 'id' => string '1991' (length=4) 'tag' => string 'motorsport' (length=10) 2154 => array 'id' => string '2154' (length=4) 'tag' => string 'neuwagen' (length=8) 10660 => array 'id' => string '10660' (length=5) 'tag' => string 'seat' (length=4) 17803 => array 'id' => string '17803' (length=5) 'tag' => string 'sportliche ausstrahlung' (length=23) 74 => array 'id' => string '74' (length=2) 'tag' => string 'web 2.0' (length=7) 'categories' => array 16082 => array 'id' => string '16082' (length=5) 'tag' => string 'Auto & Motorrad' (length=15) 51 => array 'id' => string '51' (length=2) 'tag' => string 'Blogosphäre' (length=11) 66 => array 'id' => string '66' (length=2) 'tag' => string 'Neues & Trends' (length=14) 68 => array 'id' => string '68' (length=2) 'tag' => string 'Privat' (length=6)
If $a
is the array that's passed, $a[76][0]['id']
should give '76' and $a[76][1]['id']
should give '81', but I can't test as I don't have PHP installed on this machine.
Study up on multidimensional arrays. This question might help.
Regarding your code: It's slightly hard to read... If you want to try to view it all in a php array format, just print_r it. This might help:
<?php
$a =
array(
'languages' =>
array (
76 =>
array ( 'id' => '76', 'tag' => 'Deutsch', ), ), 'targets' =>
array ( 81 =>
array ( 'id' => '81', 'tag' => 'Deutschland', ), ), 'tags' =>
array ( 7866 =>
array ( 'id' => '7866', 'tag' => 'automobile', ), 17800 =>
array ( 'id' => '17800', 'tag' => 'seat leon', ), 17801 =>
array ( 'id' => '17801', 'tag' => 'seat leon cupra', ), ),
'inactiveTags' =>
array ( 195 =>
array ( 'id' => '195', 'tag' => 'auto', ), 17804 =>
array ( 'id' => '17804', 'tag' => 'coupès', ), 17805 =>
array ( 'id' => '17805', 'tag' => 'fahrdynamik', ), 901 =>
array ( 'id' => '901', 'tag' => 'fahrzeuge', ), 17802 =>
array ( 'id' => '17802', 'tag' => 'günstige neuwagen', ), 1991 =>
array ( 'id' => '1991', 'tag' => 'motorsport', ), 2154 =>
array ( 'id' => '2154', 'tag' => 'neuwagen', ), 10660 =>
array ( 'id' => '10660', 'tag' => 'seat', ), 17803 =>
array ( 'id' => '17803', 'tag' => 'sportliche ausstrahlung', ), 74 =>
array ( 'id' => '74', 'tag' => 'web 2.0', ), ), 'categories' =>
array ( 16082 =>
array ( 'id' => '16082', 'tag' => 'Auto & Motorrad', ), 51 =>
array ( 'id' => '51', 'tag' => 'Blogosphäre', ), 66 =>
array ( 'id' => '66', 'tag' => 'Neues & Trends', ), 68 =>
array ( 'id' => '68', 'tag' => 'Privat', ), ), );
printarr($a);
printarr($a['languages'][76]['tag']);
parintarr($a['targets'][81]['id']);
function printarr($in){
echo "\n";
print_r($in);
echo "\n";
}
//run in php command line php path/to/file.php to test, switching otu the print_r.
精彩评论