sql >> データベース >  >> RDS >> Mysql

PHPコードがHTMLの前に実行されるのはなぜですか?

    echo IMMEDIATE出力を行います。それ自体がエコーを実行する関数をエコーし​​ようとすると、関数のエコーが最初に実行されます。例:

    function foo() {
       echo 'foo';
    }
    
    echo 'bar' . foo();   // output foobar
    

    と同等のものとして実行されます
    echo 'foo';
    echo 'bar';
    

    なんで? echo まず、出力される文字列を作成する必要があります。したがって、barの前に エコー可能である場合、親エコーはfoo()を呼び出す必要があります 。この関数は何も返しません。単に独自のエコーを実行します。複数のecho 呼び出しは互いに調整されないため、fooのechoが出力を行います。次に、fooは親echoに何も返さないため、echo 'bar' . null 、および出力bar

    これがあった場合:

    function bar() {
       return 'bar';
    }
    
    echo 'foo' . bar();
    

    期待どおりに機能します。実行シーケンスは次のようになります:

    $temp = bar(); // $temp gets string'bar'
    echo 'foo' . $temp;
    echo 'foo' . 'bar';
    echo 'foobar';
    -> output foobar
    


    1. MacOSXにlibpq-devをインストールします

    2. EloquentでgroupByを使用してグループあたりの行数を増やす

    3. IDをコンマ区切り値として保存する

    4. SQL ServerでCHECK制約が列レベルかテーブルレベルかを確認します(T-SQLの例)