仅显示数组的最后一个元素

时间:2014-09-08 12:45:37

标签: php foreach

示例:在$ main_array中添加方括号时,我在数组中得到3个点但是当我删除这些括号时,它运行良好。

    <?php
$user = array('a','b','c');
$cars=array("Volvo","BMW","Toyota");
$roll = array(1,2,3);

$length = count($user);

$main_array = array();

foreach($user as $name){
    $list = array();
    for($i=0;$i<$length;$i++){
        $list[] = array(
            'label' => $cars[$i],
            'roll' => $roll[$i] 
        );
    }

    $main_array[] = array(
        'name'=> $name,
        'list'=> $list
    );

}
var_dump($main_array);
?>

添加.... 所以这就是我想要做的。试图从twitter api 1.1中提取Feed

$status = array();
$tweetfeed = array();
foreach($users as $user){
$tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=".$user."&count=".$notweets);
    $t=0;
    foreach($tweets as $key) {  
        $status[$t]['text'] = $key ->text;
        $status[$t]['stamp'] = twitter_time($key -> created_at);
        ++$t;
    }   
    $tweetfeed = array (
        'status' => $status         
    );  
var_dump($tweetfeed);
}
var_dump($tweetfeed);

..结束

   foreach($user)
    Main_parent {
         Child-1{
                 'key': value
                 'key': value
         }

         Child-2{
                 'key': value
                 'key': value
         }
         Child-3{
                 'key': value
                 'key': value
         }

    }
var_dump(Main_parent);
    }
var_dump(Main_parent);

在foreach循环中调用Main_parent工作正常但在foreach循环外调用时只显示child-3。

1 个答案:

答案 0 :(得分:0)

您在每次尝试时都会覆盖$tweetfeed的值。

 $tweetfeed = array (
        'status' => $status         
    );  

应该是:

 $tweetfeed[] = array (
        'status' => $status         
    );  

通过使用[],您将值推入数组,而不是覆盖它。你实际上可以将整个过程简化为:

$tweetfeed = array();
foreach($users as $user){
$tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=".$user."&count=".$notweets);
    $status = array();
    foreach($tweets as $key) {  
        $status[]=array(
                        'text' => $key ->text, 
                        'stamp' => twitter_time($key -> created_at)
                       );
    }   
    $tweetfeed[] = array (
        'status' => $status         
    );  
var_dump($tweetfeed);
}
var_dump($tweetfeed);