如何打印特定的数组值

时间:2013-07-30 05:45:21

标签: php arrays facebook

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

7 个答案:

答案 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,那么你可以通过

获得名称值
$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 />";
}