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


Only last element of array is displayed

示例:当向$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 中提取提要

$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。

您正在覆盖每个itteration中$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);