0

チーム名を与える情報をどこかから切り取っています。もしそうならecho $HomeTeam;、「Man Utd」という値を取得します。

しかし、これを行うと..機能しません(空白が表示されます)。

$PlayerName = "Robin Van Persie"; //just to test that it's working
switch($PlayerName)
    {
    case "Robin Van Persie":
        if ($HomeTeam == "Man Utd") { echo $HomeTeam; } 
        break;
    default: echo "Player not in the list"; break;
    }

これは空白として表示されます...理由はありますか?文字列に変換するために追加しようとし$HomeTeam = strval($HomeTeam);ましたが、違いはありませんでした。

4

4 に答える 4

0

これを試して

$PlayerName = "Robin Van Persie"; //just to test that it's working
switch($PlayerName){
    case "Robin Van Persie":
        $HomeTeam ?  print($HomeTeam) : print("HomeTeam is not set");
    break;
    default: echo "Player not in the list"; break;
}
于 2012-11-09T23:01:57.170 に答える
0

$HomeTeam変数が設定されていないため、出力時に空が返されます。値をこのようなものに設定すると、機能するはずです。

$PlayerName = "Robin Van Persie"; //just to test that it's working
$HomeTeam = "Man Utd";
switch($PlayerName)
    {
    case "Robin Van Persie":
        if ($HomeTeam == "Man Utd") { echo $HomeTeam; } //Man Utd
        break;
    default: echo "Player not in the list"; break;
    }
于 2012-11-09T22:54:02.653 に答える
0

他にif ($HomeTeam == "Man Utd")何も設定されていないため、$HomeTeam は等しくない必要があります"Man Utd"

于 2012-11-09T23:00:32.743 に答える
0

ハードコーディングして値をデータベースに保存しない場合は、おそらく配列を使用するこの方法に興味があります。

$search = "Robin Van Persie";

//Your data array, easyier to add to no
$teams = array(
    'Manchester United'=>array('Robin Van Persie',
                               'Wayne Rooney',
                               ),

    'Arsenal'=>array('Theo Walcott',
                     'Nicklas Bendtner',
                     ),             
);

$result=null;
foreach($teams as $team=>$players) {
    if(in_array($search,$players)) {
        $result = $team;
    }
}
//Robin Van Persie's team is Manchester United
echo ($result != null) ? $search.'\'s team is '.$result : 'Team for '.htmlentities($search).' not found.';
于 2012-11-09T23:23:01.300 に答える