Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Dlaczego kod PHP jest wykonywany przed kodem HTML?

echo robi wyjście NATYCHMIASTOWE. Jeśli spróbujesz wywołać echo funkcji, która sama wykonuje echo, echo funkcji wykonuje PIERWSZE. np.

function foo() {
   echo 'foo';
}

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

i wykonuje się jako odpowiednik

echo 'foo';
echo 'bar';

Czemu? Ponieważ echo najpierw musi skonstruować wyprowadzany ciąg. Więc przed bar może zostać powtórzone, echo nadrzędne musi wywołać foo() . Ta funkcja niczego nie zwraca, po prostu wykonuje własne echo. wiele echo wywołania nie koordynują się ze sobą, więc echo foo wykonuje swoje wyjście. następnie foo nie zwraca nic do rodzica echo, więc wykonujesz echo 'bar' . null i wypisz bar .

Gdybyś to miał:

function bar() {
   return 'bar';
}

echo 'foo' . bar();

to działałoby zgodnie z oczekiwaniami. Sekwencja wykonania byłaby następująca:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd podczas używania INSERT INTO table ON DUPLICATE KEY przy użyciu tablicy pętli for

  2. MYSQL PHP Nie wybrano bazy danych - nie można znaleźć błędu

  3. Pobierz datę, nawet jeśli nie istnieje w tabeli z instrukcji SQL SELECT

  4. Naruszenie ograniczenia integralności:1062 Zduplikowany wpis „1” dla klucza „PRIMARY”

  5. Podczas pętli przy użyciu PHP z serwerem MySQL