2010-05-04 2 views
3

Мне было интересно, могу ли я присвоить значения переменной внутри оператора IF. Мой код выглядит следующим образом:PHP: присвоение значений переменной внутри оператора IF

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

Поэтому в основном я хочу присвоить массив переменной $ newArray, то рассчитывать newArray и проверьте, чтобы увидеть, если это пустой массив.

Я знаю, что я могу сделать это на нескольких строках, но просто интересно, если я мог бы сделать это на одной линии

ответ

3

Попробуйте это:

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

Я бы советовал об этом, так как это делает ваш код менее удобочитаемым. И очень нелогично, так как вы знаете, что данный массив содержит два значения. Но, возможно, у вас есть что-то еще в виду. :)

2

Да, вы можете, например, так:

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

Двигаемся var_dump из $ary дает:

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

На самом деле вам не нужно использовать счет внутри оператора if, потому что пустой пул в PHP считается ложным. См. PHP documentation.

Так что ваш код может выглядеть следующим образом:

if (!$newArray = array("hello", "world")) { 
    echo "newArray is empty"; 
} 
Смежные вопросы