Есть вот такой массив:
Array
(
[data] => Array
(
[0] => Array
(
[category] => Website
[name] => Brains
[id] => 2791308653434598
[perms] => Array
(
[0] => ADMINISTER
[1] => EDIT_PROFILE
[2] => CREATE_CONTENT
[3] => MODERATE_CONTENT
[4] => CREATE_ADS
[5] => BASIC_ADMIN
)
)
[1] => Array
(
[category] => App Page
[name] => StarPeak - Money Through Glory
[id] => 33953467150574
[perms] => Array
(
[0] => ADMINISTER
[1] => EDIT_PROFILE
[2] => CREATE_CONTENT
[3] => MODERATE_CONTENT
[4] => CREATE_ADS
[5] => BASIC_ADMIN
)
)
[2] => Array
(
[category] => Real Estate
[category_list] => Array
(
[0] => Array
(
[id] => 198327773511962
[name] => Real Estate
)
)
[name] => TezTap.az - Axtardığını tez tap
[id] => 14443736253434587
[perms] => Array
(
[0] => ADMINISTER
[1] => EDIT_PROFILE
[2] => CREATE_CONTENT
[3] => MODERATE_CONTENT
[4] => CREATE_ADS
[5] => BASIC_ADMIN
)
)
[paging] => Array
(
[cursors] => Array
(
[before] => Mjc5MTMwODY1OTКХNTk4
[after] => MTUyODUКХzg4MDcwMzE0MQZDZD
)
)
)
как вывести только [name] из этого массива?
Сделал так не помогло
foreach( $data2 as $value ) {
echo $value->name;
}
У вас вложенный массив. Вам надо перебирать не $data2, а $data2['data']
У вас массив, а не объект. Доступ к элементу name должен быть такой $value['name']
Т.е.:
foreach( $data2['data'] as $value ){
echo $value['name'];
}
Из-за того, что массив многомерный, а искомые элементы 'name' находятся на разных уровнях, нужно пользоваться рекурсивной функцией. Можно встроенной array_walk_recursive():
Массив
$data2 = Array(
'data' => Array(
Array(
'category'=> 'Website',
'name' => 'Brains',
'id' => 2791308653434598,
'perms' => Array(
ADMINISTER,
EDIT_PROFILE,
CREATE_CONTENT,
MODERATE_CONTENT,
CREATE_ADS,
BASIC_ADMIN
)
),
Array(
'category'=> 'App Page',
'name' => 'StarPeak - Money Through Glory',
'id' => 33953467150574,
'perms' => Array(
ADMINISTER,
EDIT_PROFILE,
CREATE_CONTENT,
MODERATE_CONTENT,
CREATE_ADS,
BASIC_ADMIN
)
),
Array(
'category' => 'Real Estate',
'category_list' => Array(
Array(
'id' => 198327773511962,
'name'=> 'Real Estate'
)
),
'name' => 'TezTap.az - Axtardığını tez tap',
'id' => 14443736253434587,
'perms' => Array(
ADMINISTER,
EDIT_PROFILE,
CREATE_CONTENT,
MODERATE_CONTENT,
CREATE_ADS,
BASIC_ADMIN
)
),
'paging' => Array(
'cursors' => Array(
'before'=> 'Mjc5MTMwODY1OTКХNTk4',
'after' => 'MTUyODUКХzg4MDcwMzE0MQZDZD'
)
)
)
);
Код
array_walk_recursive($data2, function($v, $k) {
echo (!empty($k) && $k == 'name') ? "$v<br>" : '';
});
Результат
Brains
StarPeak - Money Through Glory
Real Estate
TezTap.az - Axtardığını tez tap
Сборка персонального компьютера от Artline: умный выбор для современных пользователей