在一個PHP函數中,有時我發現某些東西可以被回顯,但它不能被返回。'echo'VS'return'的PHP要求
例如,這成功地Echo的結果到頁面:
function get_page_id($path) {
global $mysqli;
if ($stmt = $mysqli->prepare("SELECT state FROM country WHERE city = ?")) {
$stmt->bind_param("s", $city);
$stmt->execute();
$stmt->bind_result($state);
$stmt->fetch();
$stmt->close();
echo $state;
}
}
但是,此功能不返回值:
function get_page_id($path) {
global $mysqli;
if ($stmt = $mysqli->prepare("SELECT state FROM country WHERE city = ?")) {
$stmt->bind_param("s", $city);
$stmt->execute();
$stmt->bind_result($state);
$stmt->fetch();
$stmt->close();
return $state;
}
}
是什麼讓能值要呼應,但不回?
$ state變量在其他地方被調用,並且被包含爲全局變量,但不包含在該示例中。有趣的是,當我改變函數返回$狀態。它會像我期望的那樣返回結果,但僅當我追加空字符串時纔會執行此操作。爲什麼會這樣?
什麼是$狀態,它在哪裏聲明? – Daniel
它應該返回...你確定你確定以同樣的方式給它們打電話嗎? – Baba
根據你的基礎是什麼代碼的假設?您是否嘗試過使用返回值的函數'echo get_page_id(...)'? – iMoses