0

我有这个功能:

print_r(geoip_record_by_name('php.net'));

这导致:

Array ( 
   [continent_code] => NA 
   [country_code] => US
   [country_code3] => USA 
   [country_name] => United States 
   [region] => CA [city] => Sunnyvale 
   [postal_code] => 94089 
   [latitude] => 37.424900054932 
   [longitude] => -122.0074005127 
   [dma_code] => 807
   [area_code] => 408 
)

我想检索区域值,但是

geoip_record_by_name('php.net')['region'];

给出空白结果。

4

3 回答 3

9

以下语法仅在PHP >= 5.4中受支持:

geoip_record_by_name('php.net')['region'];

如果您使用的是其他版本,则必须执行以下操作:

$arr = geoip_record_by_name('php.net');
echo $arr['region'];

文件:

于 2012-07-10T18:28:22.973 回答
2

你不能在 PHP (< 5.4) 中做到这一点。您需要先将数组保存为变量。

$geoip = geoip_record_by_name('php.net');
echo $geoip['region'];

数组文档: http: //php.net/manual/en/language.types.array.php#language.types.array.syntax.accessing

于 2012-07-10T18:28:08.127 回答
1
$arrayName = geoip_record_by_name('php.net');
echo $arrayName['region'];

您只能使用您在 PHP 5.4 中使用的语法

于 2012-07-10T18:27:54.090 回答