Nasıl bir PHP dizi herhangi bir değeri ayarlanmış olup olmadığını kontrol etmek?

4 Cevap php

Ben bir kayıt formu üzerinde çalışıyorum bir teslim et I sonra hataları diziye eklemek başarısız olursa, ben PHP kullanıyorum ve benim işleme parçası üzerinde biraz kodu çalıştırın.

Aşağıdaki kodu bir parça olan, ben bir hata tetiklemesi gerekiyorsa belirlemek için iyi bir yöntem bulmalıyız noktada duyuyorum.

Hata dizinin belirlenen bir değer var ise o zaman bazı başka şeyler yönlendirmek ve yapmak gerekir.

Ben isset kullanarak düşünme ya da başka is_array ama ben $signup_errors = array() bu is_array doğru yapmak olmaz kullanarak dizi seti beri bu cevabı olduğunu sanmıyorum oldu?

Herkes bunu yapmak için iyi bir yol önerebilirsiniz?

//at the beginning I set the error array
$signup_errors = array();

// I then add items to the error array as needed like this...
$signup_errors['captcha'] = 'Please Enter the Correct Security Code';

4 Cevap

if ($signup_errors) {
  // there was an error
} else {
  // there wasn't
}

Nasıl çalışır? Mantıksala dönüştürürken, boş bir dizi yanlış dönüştürür. Her dizi true dönüştürür. Kimden PHP manual:

Converting to boolean

To explicitly convert a value to boolean, use the (bool) or (boolean) casts. However, in most cases the cast is unncecessary, since a value will be automatically converted if an operator, function or control structure requires a boolean argument.

Tür Dönüşümü Ayrıca bkz.

When converting to boolean, the following values are considered FALSE:

  • boolean YANLIŞ kendisi
  • tamsayı 0 (sıfır)
  • şamandıra 0,0 (sıfır)
  • boş dize, ve dize "0"
  • elemanları sıfır olan bir dizi
  • Sıfır üye değişkenler (sadece PHP 4) ile bir nesne
  • (tanımsız değişkenler dahil) özel tip NULL
  • Boş etiketlerle oluşturulmuş SimpleXML nesneleri
  • Diğer her değer (herhangi bir kaynak dahil) DOĞRU kabul edilir.

Ayrıca benzer anlambilgisine sahiptir empty() olarak kullanabilirsiniz.

Belki empty()?

Dokümanlar:

Return Values

Returns FALSE if var has a non-empty and non-zero value.

The following things are considered to be empty:

"" (an empty string)
0 (0 as an integer)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
var $var; (a variable declared, but without a value in a class)

Olmadığını kontrol edin ...

if(count($array) > 0) { ... }

Eğer öyleyse ..., ardından en az bir anahtar-değer çifti ayarlanır.

Dizi boş değilse Alternatif kontrol edin ():

if(!empty($array)) { ... }

Sen, minimum ve maksimum değerler dizinin hem kontrol edebilir, bu durumda tuşları ve boş değerleri ile dolu büyük bir dizi var ve her anahtar-değer çifti arasında yineleme yok

if(!min($array) && !max($array)) { ... }