2017-05-28 40 views
0

我使用的函數的多個返回:一個功能

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

現在我想不僅要更換名稱的ID,它應該寫一個鏈接到詳細信息頁面。我並不想觸及返回行,所以我做出這樣的:

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>"; 
}; 

滑稽現在是,返回1和3出現,在href將正確創建。但第二個回報不再出現。

我做錯了什麼?

+0

一切。在php中返回多個東西是不可能的。第一件事返回。也許第三件事是「返回」,因爲它會自動完成標籤。此外:https://stackoverflow.com/questions/3451906/multiple-returns-from-function – dage5

+0

可能重複[多個函數返回](https://stackoverflow.com/questions/3451906/multiple-returns-from功能) –

回答

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>"; 
    };