チームの正しい名前を取得するためのサッカー スクリプトを作成しています。これがクラスにラップされた私の関数です。
static function getMatchesName($league, $team){
$eredivisie = array('PEC Zwolle' => 'PEC Zwolle',
'PSV Eindhoven' => 'PSV',
'SC Heerenveen' => 'SC Heerenveen',
'Ajax' => 'Ajax',
'AZ Alkmaar' => 'AZ',
'FC Twente' => 'FC Twente',
'Vitesse' => 'Vitesse',
'Cambuur' => 'Cambuur Leeuwarden',
'FC Groningen' => 'FC Groningen',
'Go Ahead Eagles' => 'Go Ahead Eagles',
'FC Utrecht' => 'FC Utrecht',
'Feyenoord' => 'Feyenoord',
'Heracles' => 'Heracles Almelo',
'Roda JC Kerkrade' => 'Roda JC',
'NAC Breda' => 'NAC Breda',
'RKC Waalwijk' => 'RKC Waalwijk',
'ADO Den Haag' => 'ADO Den Haag',
'NEC Nijmegen' => 'NEC');
$leagues = array(57 => $eredivisie);
if (!array_key_exists($league, $leagues)) return '1'; // return $team;
var_dump(isset($leagues[$league][$team]));
if (!array_key_exists($team, $leagues[$league])) return '2'; // return $team;
else return $leagues[$league][$team];
}
このメソッドを別のスクリプトから呼び出しています。リーグまたはチームが存在しない場合、最初のチーム名 $team が返されます。デバッグ目的で、現時点では 1 または 2 を返します。
ここに問題があります: はvar_dump()
すべての場合に false を返します。文字列is_string($team)
も真です。$team
このような変数なしで関数を実行すると、echo ClassName::getMatchesName(57, 'Heracles');
本来のように 'Heracles Almelo' が返されます。
PHP バージョン: 5.3.10
どうすればこれを修正できるのでしょうか?
解決済み:trim()
他のスクリプトで$team
変数を実行する必要があることがわかりました。