Wpis z mikrobloga

Studiuję wykopowe API, pomoże ktoś i wyjaśni co znaczy poniższa linijka, jak mam ją rozumieć?

md5($this->secret . $url . ($post === null ? '' : implode(',', $post)));
chodzi dokładnie mi o tą część: ($post === null ? '' : implode(',', $post))
#naukaprogramowania #php
  • 10
  • Odpowiedz
@kubasal: jeżeli zmienna $post ma wartość null, to przypisywany jest do niej pusty string, w przeciwnym razie przypisywany jest wynik działania funkcji implode(). Wygoogluj 'ternary operator'.
  • Odpowiedz
@kubasal: co ciekawe oprócz warunek ? prawda : fałsz istnieją jeszcze dwie modulacje tego operatora. zmienna ?: fałsz zwróci fałsz w przypadku gdy zmienna ma wartość null, false, "", 0 lub "0" a w przeciwnym razie zwróci zmienną. Trzecia wariacja została wprowadzona w PHP7 - zmienna ?? fallback - jeśli zmienna jest ustawiona (isset(zmienna)) zwróć zmienną, w przeciwnym razie zwróć fallback
  • Odpowiedz