“查询”变量已经用作“数组表达式”

时间:2019-01-11 07:09:22

标签: php api foreach

我从类似的API中导入国家/地区

public function importAPI()
{

    $url = 'https://restcountries.eu/rest/v2/';
    $json = file_get_contents($url);

    $countries = [];

    $queries = json_decode($json, true);

    foreach ($queries as $item['name']){
        foreach ($queries as $country){
             $countries[] = $country['name'];
        }
    }
    return $countries;
}

我遇到标题中提到的错误

  

'queries'变量已被用作'array表达式'

我不太了解它,因为返回的结果是正确的。

这是我需要担心或必须更改的东西吗?

1 个答案:

答案 0 :(得分:2)

由于您的最终目标似乎是获取一组国家/地区名称,因此您可以使用以下代码:

public function importAPI()
{
    $url  = 'https://restcountries.eu/rest/v2/';
    $json = json_decode( file_get_contents($url) );

    $countries = [ ];

    foreach( $json as $country )
    {
        $countries[] = $country->name;
    }

    return $countries;
}