Article View: pl.comp.lang.php
Article #232482Re: co denerwuje w PHP?
From: PawelS pawel(at)wbcd(dot)pl
Date: Wed, 14 Aug 2019 17:40
Date: Wed, 14 Aug 2019 17:40
35 lines
2786 bytes
2786 bytes
Marek S pisze:
> W dniu 2019-08-11 o 20:23, PawelS pawel(at)wbcd(dot)pl pisze:
>
>>> Więc użyj zwyczajnie $zmienna==="" zamiast funkcji, którą sam uważam
>>> za dziwaczną i średnio przydatną.
>> Czyli średnio umiesz użyć tej funkcji, a ma ona bardzo przydatną zaletę:
>> $DATA=explode('<separator-one-char>', $data);
>
> Możliwe, że średnio. Szczególnie, że nie wiem kompletnie, o czym w ogóle
> piszesz. A już w szczególności, gdy piszesz poniższe.
>
>> if ($DATA['property1']==1) { ... }
>> Tu będzie ostrzeżenie, jeśli indeks 'property1' nie istnieje.
>
> No i? Czego to ma dowodzić?
>
>>
>> if (isset($DATA['property1']) && $DATA['property1']==1) { ... }
>> To zadziała, ale zbyt rozwlekłe skoro można krócej.
>>
>> if (!empty($DATA['property1'])) { ... }
>> Oczywiście to ma sens w przypadkach, gdy sprawdzamy obecność danej opcji,
>
> No właśnie. Użyłeś kluczowego słowa "gdy". Funkcja g... prawdę Ci
> zwróci, gdy property1 będzie wynosiło numeryczne 0 lub pusty string.
Ok, tutaj podałem zły przykład, zwłaszcza z tym explode(),
ale z checkbox ma to sens, oczywiście można użyć również isset(),
nie pamiętam już dokładnie w jakim przypadku,
ale użycie empty() było wygodniejsze niż isset().
Być może chodziło o przypadek w którym mogę nie mieć w tablicy
danej opcji, mogę mieć pustą (czego również nie chcę)
oraz mogę mieć nie pustą opcję, a isset() będzie prawdziwe,
gdy opcja będzie pusta, a wtedy musiałbym i tak oprócz isset()
użyć empty() lub strlen()>0, a empty() powinno być szybsze.
Technical Details
Message-ID:
<5d5447a2$0$535$65785112@news.neostrada.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!fu-berlin.de!newsreader4.netcologne.de!news.netcologne.de!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailReferences:
<qi47f0$1rt1m$1@portraits.wsisiz.edu.pl> <qi7dge$e8c$1@news.icm.edu.pl> <5d505d3a$0$511$65785112@news.neostrada.pl> <qiv7nt$fsh$1@news.icm.edu.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!fu-berlin.de!newsreader4.netcologne.de!news.netcologne.de!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail Date: Wed, 14 Aug 2019 19:40:47 +0200 From: "PawelS pawel(at)wbcd(dot)pl" <fake@email.org> User-Agent: Thunderbird 2.0.0.18 (X11/20081120) MIME-Version: 1.0 Newsgroups: pl.comp.lang.php Subject: Re: co denerwuje w PHP? References: <qi47f0$1rt1m$1@portraits.wsisiz.edu.pl> <qi7dge$e8c$1@news.icm.edu.pl> <5d505d3a$0$511$65785112@news.neostrada.pl> <qiv7nt$fsh$1@news.icm.edu.pl> In-Reply-To: <qiv7nt$fsh$1@news.icm.edu.pl> Lines: 35 Message-ID: <5d5447a2$0$535$65785112@news.neostrada.pl> Organization: Telekomunikacja Polska NNTP-Posting-Host: 89.231.96.70 X-Trace: 1565804451 unt-rea-a-02.news.neostrada.pl 535 89.231.96.70:40306 X-Complaints-To: abuse@news.neostrada.pl X-Received-Bytes: 2659 X-Received-Body-CRC: 2691996814 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit