2017-05-28 8 views
0

私は、関数を使用しています:今、私は名前とIDを交換するだけではなくたい複数の戻り

function findTeamFromID($teams,$ID) { 
    $results = array_column($teams, 'langform', 'id_teams'); 
    return (isset($results[$ID])) ? $results[$ID] : FALSE; 
}; 

、それは詳細ページへのリンクを記述する必要があります。リターン1と3が表示されていることを、今

function findTeamFromID($teams,$ID) { 
    $results = array_column($teams, 'langform', 'id_teams'); 
    return "<a href=\"details.php?id=".$ID."\">"; 
    return (isset($results[$ID])) ? $results[$ID] : FALSE; 
    return "</a>"; 
}; 

おかしいとhrefが正しく作成されます:私はこれを作ったので、私は戻りラインに触れたいと思っていません。しかし、2回目のリターンはもう現れません。

どうしたのですか?結果 EDITで

+0

すべてです。 PHPで複数のものを返すことは不可能です。最初のものが返されます。自動でタグが完成するため、3番目のものが「返される」ことがあります。これもhttps://stackoverflow.com/questions/3451906/multiple-returns-from-function – dage5

+0

[Multiple returns from function]の可能な複製です(https://stackoverflow.com/questions/3451906/multiple-returns-from)。 -function) –

答えて

0

使用単一引用符:

function findTeamFromID($teams,$ID) { 
     $results = array_column($teams, 'langform', 'id_teams'); 
     return "<a href=\"details.php?id=".$ID."\">". 
     (isset($results[$ID]) ? $results[$ID] : FALSE) 
     . "</a>"; 
    }; 
+0

ありがとうございます。しかし、まだ空いています:( –

+0

私は 'それを再び削除した後。 –

2

んが、あなたは、PHPの関数から複数の戻り値を持つことはできません。あなたのコードでは、最初のreturn文だけが動作します。

+0

良いことを知っています。新しい何かを学んだ:-)プロはどのように私のような "問題"を解決する? –

+0

私はちょうどそれをドットで連結します。あなたはIDの近くの最初のリターンでそれをやっています。 – dage5

0

ヒントをお寄せいただきありがとうございます。だから私は自分で解決策を見つけました。

function findTeamFromID($teams,$ID) { 
     $results = array_column($teams, 'langform', 'id_teams'); 
     return "<a href=\"details.php?id=".$ID."\">". 
     (isset($results[$ID]) ? $results[$ID] : FALSE). "</a>"; 
    }; 
関連する問題