将行推入二维数组:可以在数组声明内部使用循环吗?

问题描述 投票:0回答:3

我盯着这段代码看了近一个半小时。由于我缺乏经验,我不知道我哪里出了问题。

$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')
);
php arrays multidimensional-array declaration
3个回答
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);

无意冒犯,但您的整个代码语法错误。您可能想阅读有关 PHP 中的数组


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 列表理解一样?或者是来自另一种语言?


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']
    );
}
© www.soinside.com 2019 - 2024. All rights reserved.