Отчеты о Studio зенда, предупреждающие: Присвоение в условии. Это настолько плохо?

Чтобы разбить строку на массив, вы можете использовать

string.split(separator: ",")

. Это приведет к изменению строки с "1,2,3,4,5" на ["1", "2", " 3" , "4", "5"]

9
задан skaffman 30 September 2010 в 18:44
поделиться

3 ответа

while (($row = $sql->db_Fetch("MYSQL_ASSOC")) != false)
30
ответ дан 4 December 2019 в 06:03
поделиться

Это, вероятно, отмечено как предупреждение, потому что люди часто используют "=" по ошибке, когда они имеют в виду "==".

например:

$a = 1
while($a = 1) {
   $a++;
}

Это никогда не будет завершаться, хотя, если Вы думали, что записали "==", это должно.

6
ответ дан 4 December 2019 в 06:03
поделиться

Причиной это плохо, является много людей использование "=", когда затем предназначено "=="

= оператор возвратит присвоение налево поэтому, если Вы будете использовать if($x=true) код в, если будет выполнен, если Вы будете использовать if($x=false) код не будет выполнен. Это - аккуратный прием, который может сохранить строку или два из кода, но также опасно потому что, если Вы имели в виду if($x == false) и введенный if($x = false) это будет ошибка, которую может быть трудно разыскать.

0
ответ дан 4 December 2019 в 06:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: