sql >> Databáze >  >> RDS >> Mysql

Proč se PHP kód spouští před HTML?

echo dělá OKAMŽITÉ výstup. Pokud se pokusíte echo funkce, která sama dělá echo, echo funkce se provede PRVNÍ. např.

function foo() {
   echo 'foo';
}

echo 'bar' . foo();   // output foobar

a provede se jako ekvivalent

echo 'foo';
echo 'bar';

Proč? Protože echo nejprve musí zkonstruovat výstupní řetězec. Tedy před bar může být echo, rodičovský echo musí volat foo() . Tato funkce nic nevrací, pouze provádí vlastní echo. více echo hovory se vzájemně nekoordinují, takže foo's echo dělá svůj výstup. pak foo nevrací nic do rodičovského echa, takže děláte echo 'bar' . null a výstup bar .

Pokud jste měli toto:

function bar() {
   return 'bar';
}

echo 'foo' . bar();

fungovalo by to podle očekávání. Sekvence provádění by byla:

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


  1. Jak zkrátím úvodní a koncovou citaci z řádku MySQL?

  2. Jak STRCMP() funguje v MariaDB

  3. MariaDB JSON_COMPACT() vysvětleno

  4. problém s cizím klíčem a indexem