好的,这是没有意义的,这是我第一次遇到这个问题。
请告诉我我是愚蠢的什么的。
这是我的功能:
function getCountry($n, $origCode)
{
global $countryData;
if(strlen($n) > 0)
{
if(isset($countryData[$n]))
{
//$return = $countryData[$n];
var_dump($n);
return $n;
}
else
{
$n = substr($n, 0, -1);
getCountry($n, $origCode);
}
}
else
{
echo "ERROR exiting couldn't find code $origCode $count<br>";
}
}
这是电话
foreach($file as $line)
{
$split = explode(",", $line);
echo "using $split[1]<br>";
$country = getCountry(trim($split[1]), trim($split[1]));
var_dump($country);
echo "<br>";
}
文件数组:
$file = array("AA,93",
"BB,9370",
"CC,9378",
"DD,9377",
"EE,937",
"FF,9379",
"GG,355",
"HH,35568",
"II,35567"
);
国家数据数组是
array('93'=>array('id'=>2')
'355'=> array('id'=>'3)
);
var_dumps 是:
using 93
string '93' (length=2)
string '93' (length=2)
using 9370
string '93' (length=2)
null
using 9378
string '93' (length=2)
null
using 9377
string '93' (length=2)
null
using 937
string '93' (length=2)
null
using 9379
string '93' (length=2)
null
using 355
string '355' (length=3)
string '355' (length=3)
using 35568
string '355' (length=3)
null
using 35567
string '355' (length=3)
null
我根本不明白的是,为什么当我在返回值之前 var_dump 是可以的,但是一旦 var_dump 退出函数,我就会得到 null
这让我很困惑,我不知道。
有任何想法吗??
问候
利亚姆