OK、これは意味がありません。この問題が発生したのは初めてです。
私が愚かであるか何かを教えてください。
これが私の機能です:
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 になる理由です。
これは私を混乱させ、私にはわかりません。
何か案は??
よろしく
リアム