0

我正在获取 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,但总是会发生错误。

4

7 回答 7

1

例如您的数组变量名称是 $test,那么您可以通过

$test['work'][0]['employer']['name']

您可以使用 pre 标签检查您的数组结构,例如

 echo '<pre>';print_r($test);
于 2013-07-30T05:54:49.960 回答
1

您可以使用 array_reduce、implode 和closure (PHP 5.3+) 来执行此操作。

echo implode("<br/>", array_reduce($array["work"],
    function(&$arr, $v){ 
        $arr[] = $v["employer"]["name"];
    },array()
));
于 2013-07-30T06:03:58.850 回答
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,
);
于 2013-07-30T05:53:32.407 回答
0
foreach ($your_array as $your_array_item)
{
    echo $your_array_item['work'][0]['employer']['name'] . '<br>';
}
于 2013-07-30T05:55:39.420 回答
0
$count=count($array);

for($i=0,$i<=$count;$i++){
echo $array['work'][$i]['employer']['name'];
}

这将工作..动态..

于 2013-07-30T05:56:03.370 回答
0
foreach ($array['work'] as $val_arr) {
    echo $val_arr['employer']['name']."<br />";
}
于 2013-07-30T06:00:31.487 回答
0

我假设$arr是工作历史数组。您可以使用forThen 数组如下所示:

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>";
}
于 2013-07-30T05:53:33.657 回答