Czy istnieje skrótowy sposób przypisania zmiennej do czegoś, jeśli nie istnieje w PHP?Skrót PHP dla isset()?
if(!isset($var) {
$var = "";
}
chciałbym zrobić coś takiego
$var = $var | "";
Czy istnieje skrótowy sposób przypisania zmiennej do czegoś, jeśli nie istnieje w PHP?Skrót PHP dla isset()?
if(!isset($var) {
$var = "";
}
chciałbym zrobić coś takiego
$var = $var | "";
aktualizacji dla PHP 7 (dzięki shock_gone_wild)
PHP 7 wprowadza tzw zerowy operatora koalescencyjny który upraszcza poniższe instrukcje do:
$var = $var ?? "default";
Przed PHP 7
Nie, nie ma specjalnego operatora lub specjalną składnię tego. Jednakże, można użyć potrójny operatora:
$var = isset($var) ? $var : "default";
Albo tak:
isset($var) ?: $var = 'default';
Oto link do nowych funkcji PHP7 (w tym zerowy operator koalescencji): http://php.net/manual/en/migration70 .new-features.php – kurdtpage
Oprócz instrukcji przypisania operator ten może być również używany w argumentach funkcji. –
Nie działa z tablicami. '$ atrybut ['wskazówka'] ?? '' '** Niezdefiniowany indeks: podpowiedź ** –
Można użyć nowego potrójny operator (PHP 5.3+)
isset($var) ?: $var = "";
Albo dla starszej wersji:
$var = isset($var) ? $var : "";
Jeśli '$ var' istnieje i ma wartość, nadpiszesz go z wartością' true'. Te 2 przykłady nie są takie same. –
Masz rację. Edytowane, dzięki. –
Nie jestem pewien, kto cię zawiódł, ale sprowadziłem cię z powrotem, jest to pomocna odpowiedź, dzięki. – brentonstrine
Czy '$ val = isset ($ var)? $ var: ''; 'praca dla ciebie? –
Znalazłem ten post bardzo przydatny: http://davidwalsh.name/php-shorthand-if-elternational-operators – Pathros
Lepsze oryginalne dla tego duplikatu: [Najlepszy sposób na podanie zmiennej wartości domyślnej (symuluj Perl ||, || =)] (http://stackoverflow.com/q/5972516/2157640) – Palec