これの出力はどうなりますか?
ob_flush();
session_start();
ob_start();
echo ('hi');
PRINT ' there';
ob_end_clean();
{
' Programmer';
}
私はいくつかのPHPの質問に取り組んでいました、私はこれに来ました。この質問の解決策は何でしょうか?何か案が?
これの出力はどうなりますか?
ob_flush();
session_start();
ob_start();
echo ('hi');
PRINT ' there';
ob_end_clean();
{
' Programmer';
}
私はいくつかのPHPの質問に取り組んでいました、私はこれに来ました。この質問の解決策は何でしょうか?何か案が?
何も印刷されません。で出力バッファリングがオンになっているob_start()
ため、ob_end_clean()
は「出力バッファを消去 (消去) し、出力バッファリングをオフにします」。
と
{
' Programmer';
}
文字列をリテラルとして宣言するだけです。
さて、これが私がそれを実行したときに得られた出力です...
PHP Notice: ob_flush(): failed to flush buffer. No buffer to flush in /Users/foo/source/test.php on line 2
PHP Stack trace:
PHP 1. {main}() /Users/foo/source/test.php:0
PHP 2. ob_flush() /Users/foo/source/test.php:2
Notice: ob_flush(): failed to flush buffer. No buffer to flush in /Users/foo/source/test.php on line 2
Call Stack:
0.0009 624552 1. {main}() /Users/foo/source/test.php:0
0.0027 624600 2. ob_flush() /Users/foo/source/test.php:2
それがすべてのコードでしたか、それとも実行方法に関する指示がありましたか? Jonathon が指摘したように、これはコマンドラインで実行されました。Apacheまたは他のWebサーバーを実行して、彼の回答で言及されているReasonのJonathonに対して何も出力しないと予想しています。それでも CLI での動作を知っておくと便利です
ob_flush();
動作しません、フラッシュするものはありません、おそらく plast 警告session_start();
機能せず、以前の関数呼び出しのために間違いなく警告が表示されますob_start();
出力バッファリングをオンにしますecho ('hi');
出力バッファにエコーPRINT ' there';
出力バッファにもob_end_clean();
戻り値を取得する変数がないため、バッファーの内容を oblivion に送信します{
中括弧' Programmer';
何もしません。ここでクレジットカード番号を隠すことができることを確認してください}
従来通りしたがって、せいぜい出力なしです。最悪の場合、画面に 3 ~ 4 個の警告が表示されます。display_errors
phpの設定次第。