Portál AbcLinuxu, 9. května 2025 21:22
if(my_fce() == 0 ){ echo("NEXT"); }else{ echo("STOP"); } var_dump(my_fce());//array(0) { }Děkuji za případný help ;)
echo empty(my_fce()) ? "NEXT" : "STOP";
if (!count(my_fce())) { echo("NEXT"); } else { echo("STOP"); }ale jen hadam, tezko rict o co mu vlastne jde ;]
Spis
if (count(my_fce()) != 0) { echo("NEXT"); } else { echo("STOP"); }Pokud je mi znamo,
count()
vraci integer
, nikoliv boolean
if (my_fce1() && my_fce2())
my_fce2 se vůbec nemusí zavolat (pokud se používá lazy vyhodnocování) a například v tomto případě neplatí komutativita &&, protože význam není shodný s :
if (my_fce2() && my_fce1())
Takže jak říkám, špatně to není, velmi často se to používá, ale je potřeba mít jistotu, že člověk ví, co dělá. Ostatně oblíbené
do_something() or die('error')
to celé posouvá ještě o krok dál if(shutdown_internet_now()) relax();
, což je něco jiného než ten víš "getter" if(is_internet_down()) relax()
, ale přitom je to pořád legitimní užití funkce v podmínce.
if (!empty(my_fce())) { echo("NEXT"); } else { echo("STOP"); }Pokud vím, tak count() prochází všechny prkvy v poli. Při větším počtu prvků by mohlo vyhodnocení podmínky trvat relativně dlouho.
array operator anything −> array is always greater
if(intVal(array()) == 0){ echo('NEXT'); }else{ echo('STOP'); }Ale určitě hledáte
count()
…
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.