Я видел операторы сравнения, используемые сразу после присвоения значений переменным в таких кодах:
($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?
Может ли кто-нибудь связать какие-либо документы или статьи, касающиеся использования операторов сравнения после присвоения переменных?
оператор сравнения напрямую сравнивает значение с
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
для использования позже.
Других решений пока нет …