动态构建多维数组

时间:2010-12-07 21:54:58

标签: php multidimensional-array

我一直盯着这段代码将近一个半小时。在我缺乏经验的情况下,我不知道自己哪里出错了。

$gameInfo = array(
for($i=0; $i < 10; $i++){
    $friendsInfo[$i] = $facebook->api('/' . $randomfriends[$i]);
    array($randomfriends[$i],
          $friendsInfo[$i][first_name],
          $friendsInfo[$i][last_name],
          $friendsInfo[$i][hometown][name],
          $friendsInfo[$i][location][name],
          $friendsInfo[$i][about]
    );
    }
);

这是我的尝试。正如您所看到的,这些值正在从Facebook中提取。这不是问题,因为如果我回显,每个值都会出现。我想取值并将它们放入一个遵循这种结构的多维数组中。

$gameInfo =  array(
    array('first_name','last_name','hometown','location','about'),
    array('first_name','last_name','hometown','location','about'),
    array('first_name','last_name','hometown','location','about'),
    array('first_name','last_name','hometown','location','about'),
    array('first_name','last_name','hometown','location','about')
);

非常感谢您给予我的任何帮助

3 个答案:

答案 0 :(得分:1)

不太确定$facebook->api()给你的是什么,但你可能想要:

$gameInfo = array();

for($i=0; $i < 10; $i++){
    $gameInfo[] = $facebook->api('/' . $randomfriends[$i]);
}

$gameInfo = array();

for($i=0; $i < 10; $i++){
    $friend = $facebook->api('/' . $randomfriends[$i]);
    $gameInfo[] = array(
         $friend['first_name'],
         $friend['last_name'],
         $friend['hometown']['name'],
         $friend['location']['name'],
         $friend['about']
    );
}

更新:如果api()返回JSON字符串,则必须使用json_decode()

$friend = json_decode($facebook->api('/' . $randomfriends[$i]), true);

没有冒犯,但你的整个代码是错误的语法。您可能想了解arrays in PHP

答案 1 :(得分:1)

$gameInfo = array();
for($i = 0; $i < 10; $i++){
    $friendsInfo[$i] = $facebook->api('/' . $randomfriends[$i]);
    $gameInfo[] = array(
      $friendsInfo[$i][first_name],
      $friendsInfo[$i][last_name],
      $friendsInfo[$i][hometown][name],
      $friendsInfo[$i][location][name],
      $friendsInfo[$i][about]
    );
}

出于好奇,该代码应该像python列表理解?还是来自另一种语言?

答案 2 :(得分:0)

$gameInfo = array();
for($i = 0; $i < 10; $i++){
    $friendsInfo = $facebook->api('/' . $randomfriends[$i]);
    $gameInfo[] = array(
      $friendsInfo['first_name'],
      $friendsInfo['last_name'],
      $friendsInfo['hometown']['name'],
      $friendsInfo['location']['name'],
      $friendsInfo['about']
    );
}