我正在获取Facebook用户的工作历史记录,当我print_r
时,我得到一个这样的数组:
Array (
[work] => Array (
[0] => Array (
[employer] => Array (
[id] => 111178415566505
[name] => Liputan 6 SCTV
)
) [1] => Array (
[employer] => Array (
[id] => 107900732566334
[name] => SCTV
)
)
)
[id] => 502163984
)
如何仅显示name
的值,因此输出将如下:
Liputan 6 SCTV
SCTV
我使用了foreach
,但总是会发生错误。
答案 0 :(得分:1)
试试这个:
foreach ($array['work'] as $arr) {
echo $arr['employer']['name']."<br>\n";
}
这假设您的数据如下:
$array = array(
'work' => array(
array(
'employer' => array('id' => 111178415566505, 'name' => 'Liputan 6 SCTV'),
),
array(
'employer' => array('id' => 107900732566334, 'name' => 'SCTV'),
),
),
'id' => 502163984,
);
答案 1 :(得分:1)
$test['work'][0]['employer']['name']
您可以使用预标记检查数组结构,例如
echo '<pre>';print_r($test);
答案 2 :(得分:1)
您可以使用array_reduce,implode和closure(PHP 5.3+)来完成此任务。
echo implode("<br/>", array_reduce($array["work"],
function(&$arr, $v){
$arr[] = $v["employer"]["name"];
},array()
));
答案 3 :(得分:0)
我认为$arr
是工作历史数组。您可以使用for
然后数组看起来像这样:
for($i=0, $records = count( $arr['work']); $i < $records; $i++) {
echo $arr['work'][$i]['employer']['name'] ."<br>";
}
使用foreach
foreach( $arr['work'] as $works) {
echo $works['employer']['name'] ."<br>";
}
答案 4 :(得分:0)
foreach ($your_array as $your_array_item)
{
echo $your_array_item['work'][0]['employer']['name'] . '<br>';
}
答案 5 :(得分:0)
$count=count($array);
for($i=0,$i<=$count;$i++){
echo $array['work'][$i]['employer']['name'];
}
这将有效..动态..
答案 6 :(得分:0)
foreach ($array['work'] as $val_arr) {
echo $val_arr['employer']['name']."<br />";
}