Bu dört PHP tablolar arasındaki fark nedir?
if (isset($data)) {
if (!empty($data)) {
if ($data != '') {
if ($data) {
Hepsi aynı musunuz?
if (isset($data)) {
Variable is just set - before that line we declared new variable with name 'data', i.e. $data = 'abc';
if (!empty($data)) {
Variable is filled with data. It cannot have empty array because then $data
has array type but still has no data, i.e. $data = array(1);
Cannot be null, empty string, empty array, empty object, 0, etc.
if ($data != '') {
Variable is not an empty string. But also cannot be empty value (examples above).
If we want to compare types, use !==
or ===
.
if ($data) {
Değişken herhangi bir veri ile doldurulur. Aynı şey !empty($data)
.
PHP kılavuzu Çıkış: http://www.php.net/manual/en/types.comparisons.php
Expression gettype() empty() is_null() isset() if($x) $x = ""; string TRUE FALSE TRUE FALSE $x = null; NULL TRUE TRUE FALSE FALSE var $x; NULL TRUE TRUE FALSE FALSE $x undefined NULL TRUE TRUE FALSE FALSE $x = array(); array TRUE FALSE TRUE FALSE $x = false; boolean TRUE FALSE TRUE FALSE $x = true; boolean FALSE FALSE TRUE TRUE $x = 1; integer FALSE FALSE TRUE TRUE $x = 42; integer FALSE FALSE TRUE TRUE $x = 0; integer TRUE FALSE TRUE FALSE $x = -1; integer FALSE FALSE TRUE TRUE $x = "1"; string FALSE FALSE TRUE TRUE $x = "0"; string TRUE FALSE TRUE FALSE $x = "-1"; string FALSE FALSE TRUE TRUE $x = "php"; string FALSE FALSE TRUE TRUE $x = "true"; string FALSE FALSE TRUE TRUE $x = "false"; string FALSE FALSE TRUE TRUE
Kolayca görebileceğiniz gibi, eğer (! Boş ($ x)) ($ x) ve eğer (! Is_null ($ x)) eşit değerlendirir eğer eşit değerlendirir if (isset ($ x)). $ Veri null değilse Bildiğim kadarıyla ($ data! ='') Giderse gibi, o,'', (gevşek karşılaştırma) YANLIŞ veya 0 doğrudur.
Onlar aynı değildir.
true değişkeni ayarlı ise. değişkeni boş ayarlanabilir ve bu doğru olurdu.
true değişken ayarlanırsa and eşit değil boş dize, 0, '0 'yapar, null, YANLIŞ, boş bir dizi. açıkça isset
olarak aynı değildir.
değişkeni boş bir dize ayarlı değilse değişken, boş bir dize eşit değilse.
değişkeni true zorladı eğer değişken ayarlı değilse, false zorlamak olacaktır.
(isset ($ veri)) - eğer bir değişken ('unset()'
bahis değil ayarlanırsa belirler ve değil NULL
.
(! boş ($ veri)) - eğer boş bir tip agnostik çek mi $ veri'', 0, yanlış, ya da NULL ise bu doğru dönecekti.
($ data! ='') {$ this veri boş bir dizeye eşit olup olmadığı kontrol güvenli bir dize türü ise
($ data) {bu bir arıyor eğer doğru veya yanlış (aka: 0 veya 1)