PHP: IF deyimi içinde bir değişkene değer atama

3 Cevap php

I bir IF deyimi içinde bir değişkene değer atayabilirsiniz merak ediyordum. Aşağıdaki gibi benim kod:

<?php
    if ((count($newArray) = array("hello", "world")) == 0) {
        // do something
    }
?>

Yani temelde i $ yeni_dizi değişkene dizi atamak istiyorum, sonra yeni_dizi saymak ve boş bir dizi olup olmadığını görmek için kontrol edin.

Ben birkaç hatlarında bunu biliyorum ama ben bir satırda bunu yapabilirdi eğer sadece merak

3 Cevap

Bu deneyin:

if(count($newArray = array("Hello", "world")) == 0) {
    ....
}

Bu kod daha az okunabilir yapar gibi, bu olsa karşı tavsiye ediyorum. Ve son derece mantıksız da söz dizisi iki değerler içerdiğini size know gibi. Ama belki aklında başka bir şey var. :)

Evet, yapabilirsiniz, şöyle:

if(count($ary = array(1,2,3)))

: A var_dump $ary verir arasında Amaçlı

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}

Boş bir dizi PHP yanlış olarak kabul edilir, çünkü aslında, eğer deyimi içinde sayılmasını kullanmanız gerekmez. Bkz PHP documentation.

Yani kod şöyle olabilir:

if (!$newArray = array("hello", "world")) {
    echo "newArray is empty";
}