Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP为每个循环获取所有数组值_Php_Arrays_Loops_Import - Fatal编程技术网

PHP为每个循环获取所有数组值

PHP为每个循环获取所有数组值,php,arrays,loops,import,Php,Arrays,Loops,Import,好的,我有以下代码从API获取json结果: $userGuid = "2d7c4ca4-d1b6-4c2a-9106-33df1251d946"; $apiKey = "my_key"; function query($connectorGuid, $input, $userGuid, $apiKey, $additionalInput) { $url = "https://api.import.io/store/connector/" . $connectorGuid . "/_qu

好的,我有以下代码从API获取json结果:

$userGuid = "2d7c4ca4-d1b6-4c2a-9106-33df1251d946";
$apiKey = "my_key";

function query($connectorGuid, $input, $userGuid, $apiKey, $additionalInput) {

  $url = "https://api.import.io/store/connector/" . $connectorGuid . "/_query?_user=" . urlencode($userGuid) . "&_apikey=" . urlencode($apiKey);

  $data = array("input" => $input);
  if ($additionalInput) {
    $data["additionalInput"] = $additionalInput;
  }

  $ch = curl_init($url);
  curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
  curl_setopt($ch, CURLOPT_POSTFIELDS,  json_encode($data));
  curl_setopt($ch, CURLOPT_POST, 1);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_HEADER, 0);
  $result = curl_exec($ch);
  curl_close($ch);

  return json_decode($result, true);
}

// Query for tile Bundesliga Stats
$result = query("73df0478-4e6e-4f78-9ab5-f9866ac7a531", array(
  "webpage/url" => "http://msn.foxsports.com/foxsoccer/bundesliga/teams/1-fc-nurnberg/stats/5131",
), $userGuid, $apiKey, false);
var_dump($result);
这是它打印出来的一个结果(它会持续一段时间):

然后我有一个循环,从上面的结果中得到“玩家名称”和“目标”:

$players = array();
foreach($result['results'] as $player){
    $players[$player['player_name']] = $player['goals'];

}
foreach($players as $player => $goals){ 

echo "Player:" . $player . "Goals:" . $goals;
}

我对数组非常陌生,所以我知道它会输出我想要的两列。。然而,我想抓住并回应剩下的结果,如“助攻”、“黄牌”等。任何帮助都非常感谢。谢谢。

如果您想获取所有字段,则可以将所有$result['results']分配给$player

$players = $result['results']; //store all results in $players

foreach($players as $player){
    echo "Player:" . $player['player_name'] 
    . "Goals:" . $player['goals'] 
    . "Assists:" . $player['assists'];
    //access others
}
如果你想抓住一些田地

$players = array();
$keys_to_copy = array('player_name','goals','assists'); //define fields you want to copy

foreach($result['results'] as $player){

    $player_copy = array();
    foreach($keys_to_copy as $key) {
        $player_copy[$key] = $player[$key];
    }

    $players[] = $player_copy;
}    

foreach($players as $player){
    echo "Player:" . $player['player_name'] 
    . "Goals:" . $player['goals'] 
    . "Assists:" . $player['assists'];
}

令人惊叹的。工作得很有魅力。谢谢:)
$players = array();
$keys_to_copy = array('player_name','goals','assists'); //define fields you want to copy

foreach($result['results'] as $player){

    $player_copy = array();
    foreach($keys_to_copy as $key) {
        $player_copy[$key] = $player[$key];
    }

    $players[] = $player_copy;
}    

foreach($players as $player){
    echo "Player:" . $player['player_name'] 
    . "Goals:" . $player['goals'] 
    . "Assists:" . $player['assists'];
}