sql >> Database >  >> RDS >> Mysql

Waarom wordt de PHP-code uitgevoerd vóór de HTML?

echo heeft ONMIDDELLIJKE uitvoer. Als u een functie probeert te echoën die zelf een echo doet, wordt de echo van de functie EERST uitgevoerd. bijv.

function foo() {
   echo 'foo';
}

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

en wordt uitgevoerd als het equivalent van

echo 'foo';
echo 'bar';

Waarom? Omdat echo moet eerst de string construeren die wordt uitgevoerd. Dus vóór bar kan worden herhaald, moet de bovenliggende echo foo() . aanroepen . Die functie retourneert niets, het voert gewoon zijn eigen echo uit. meerdere echo oproepen coördineren niet met elkaar, dus foo's echo doet zijn uitvoer. dan retourneert foo niets naar de bovenliggende echo, dus je doet echo 'bar' . null , en output bar .

Als je dit had:

function bar() {
   return 'bar';
}

echo 'foo' . bar();

het zou werken zoals verwacht. De uitvoeringsvolgorde zou zijn:

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


  1. Hoe te controleren of de kolom virtueel is in Oracle?

  2. Privéchatsysteem MYSQL-verzoek om het laatste bericht van de afzender/ontvanger weer te geven

  3. De beste manier om de instellingen van een PHP-app op te slaan?

  4. SQL server join-tabellen en pivot