ホームページ >バックエンド開発 >PHPチュートリアル >HEREDOC 文字列内で PHP 関数を呼び出すにはどうすればよいですか?

HEREDOC 文字列内で PHP 関数を呼び出すにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-28 17:21:11188ブラウズ

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。