首頁 > 後端開發 > php教程 > 如何在 HEREDOC 字串中呼叫 PHP 函數?

如何在 HEREDOC 字串中呼叫 PHP 函數?

Linda Hamilton
發布: 2024-11-28 17:21:11
原創
184 人瀏覽過

How Can I Call PHP Functions Within HEREDOC Strings?

在HEREDOC 字串中呼叫PHP 函數:詳細分析

HEREDOC 字串提供了一種在PHP 中表示多行文字區塊的便捷方法。雖然它們支援使用“$”前綴進行變數替換,但存取更複雜的表達式(例如數組元素)需要使用大括號“{}”。

在 PHP 5 中,可以呼叫大括號內的函數在 HEREDOC 字串中。然而,這需要採取細緻的方法。函數名稱必須儲存在變數中,並且呼叫必須模擬動態命名的函數。例如:

$fn = 'testfunction';
function testfunction() { return 'ok'; }
$string = <<<heredoc
plain text and now a function: {$fn()}
heredoc;
登入後複製

與直接函數呼叫語法相比,這種方法可能顯得很麻煩:

$string = <<<heredoc
plain text and now a function: {testfunction()}
heredoc;
登入後複製

存在替代解決方案,例如突破HEREDOC 來呼叫函數或透過將PHP 程式碼整合到HTML 中來扭轉該方法,如問題中提供的程式碼範例所示。然而,這些方法都有其限制。

更簡單的解決方案

如果需要更簡單的解決方案,可以採用簡化的方法:

function fn($data) {
  return $data;
}
$fn = 'fn';

$my_string = <<<EOT
Number of seconds since the Unix Epoch: {$fn(time())}
EOT;
登入後複製

這種方法提供了一種不太複雜的替代方案,同時保留了在HEREDOC 字串中呼叫函數的功能。

以上是如何在 HEREDOC 字串中呼叫 PHP 函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板