Использование оператора сравнения после присвоения переменной

Я видел операторы сравнения, используемые сразу после присвоения значений переменным в таких кодах:

($i = array_search($v, $b)) !== false // If $v is not in array, outputs false

Или как то так:

$n = 5 <= 5;
echo $n; // Outputs 1;

В первом примере оператор сравнения напрямую сравнивает значение с array_search (…) или сравнивает его с $ i, поскольку оба они в скобках? Будет ли это иметь значение, если не будет скобок вокруг «$ i = array_search (…)?

Я попытался просмотреть руководство по PHP для операторов сравнения, но в нем, похоже, не упоминается использование операторов сравнения таким образом.

Кроме того, во втором примере, если нет скобок, сравнивает ли оператор сравнения значение 5 или $ n?

Может ли кто-нибудь связать какие-либо документы или статьи, касающиеся использования операторов сравнения после присвоения переменных?

0

Решение

оператор сравнения напрямую сравнивает значение с array_search(...) или это сравнить с $i

Он присваивает значение из array_search в $i сначала, а затем оценивает сравнение с этим значением во-вторых.


В вашем примере array_search вернусь false на провал.

if( ($i = array_search($v, $b)) !== false ){}

Полностью эквивалентно:

$i = array_search($v, $b);
if($i !== false){}

Или же:

if( array_search($v, $b) !== false ){}

Это просто удобный ярлык для присвоения значения $i для использования позже.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]