Здравствуйте, подскажите пожалуйста почему не срабатывает последнее условие проверки if. Проверяю значение массивов в цикле на пустоту вот такой командой if($array[value][value]!='') {тогда выполнить код} Т.е. если значение не пустое выполнить код. При этом перед данным массивом выполняю проверку других массивов все работает а этот массив идет на проверку последним и при значении скажем [3] => он все равно выполняет код. Вот часть значений данного массива $sv['metki'][$num]: Array ( [0] => Параметр [1] => Параметр1 [2] => [3] => [4] => [5] =>[6] => [7] => [8] => [9] => [10] => [11] => [12] => [13] => [14] => [15] => [16] => [17] => [18] => Параметр18 [19] => [20] => [21] => [22] => [23] => [24] => [25] => [26] => [27] => [28] => [29] => [30] => [31] => [32] => [33] => [34] => [35] => [36] => [37] => [38] => [39] => [40] => [41] => [42] => [43] => [44] =>Параметр44 [45] => [46] => [47] Вот сам код: Код (Text): for ($num=0; $num<$l; $num++) { if($sv['op_rab'][$num]!='') {znachenie_na ekran( ($sv['op_rab'][$num]);} //работает if($sv['graf_rab'][$num]!='') {znachenie_na_ekran ($sv['graf_rab'][$num]);}//работает if($sv['id_obrz'][$num]!='') {znachenie_na_ekran ($sv['id_obrz'][$num]);}//работает if($sv['treb'][$num]!='') {znachenie_na_ekran ($sv['treb'][$num]);}//работает if ($sv['usl'][$num]!='') {znachenie_na_ekran ($sv['usl'][$num]);}//работает if ($sv['id_raion'][$num]=='') {$sv['id_raion'][$num]="Не важен";}// если пустое значение заменяю на новое значение znachenie_na_ekran ($sv['id_raion'][$num]);//выводим на экран раз значение никогда не будет пустым if($sv['metki'][$num]!='') { znachenie_na_ekran ($sv['metki'][$num]); НЕ РАБОТАЕТ УСЛОВИЕ. }
Попробуйте заменить != на !== Возможно, у вас там содержимое, которое может быть приведено к пустой строке при нестрогом сравнении.
Я же в условии четко написал если не пустое тогда на экран вывести. --- Добавлено --- К сожалению данное условие не срабатывает !==. Читал что можно попробовать через count массива, но это не совсем наверное правильно ведь если if пропускает то count должен быть равен 1 - протестирую. А так я пробовал и вот так писать !=" " Т.е. != || !=" " (если не пустое значение или не пробел то выполнить)
В таком случае я вот какую использую конструкцию: $sv['metki'][$num]=trim($sv['metki'][$num]); // удаляю пробелы а потом проверяю на условие: if ($sv['metki'][$num]!='' && $sv['metki'][$num]!=' ') {выполнить} // не пустой и не пробел тогда выполнить. Можно наверное trim в условие записать чтоб команда в одну строчку была.
да, trim() и лучше привыкай для строк использовать только строгое сравнение: === либо !== иначе можно словить непрошенный кастинг в число ))) типа PHP: var_dump(0=="a"); // 0 == 0 -> true --- Добавлено --- P.S. это ужас-ужас!