1. зачем это нужно, если вы обновляете только те значения, которые собираются в массиве arSetUpdate? если значение - пустая строка, то оно не добавится в массив, не добавится в запрос, и соответственно не обновится - останится старым.
после обновления достаните актуальные данные, и выведе во вью, а то что используете вы - велосипед из кастылей, жуткая практика, но все приходит с опытом.
2. приходит пустая строка = '', ее длина равна 0.
стоит обратить внимание например на то, что не выделенный чекбокс вообще не придет, в отличие от текстового инпута или селекта.
3. начнем с конца. если текущее значение пустая строка - мы не обновляем данные для текущего поля.
разница между ифами чисто в контексте:
1 - если мы используем каунт - соответственно мы собираемся работать с результирующим числом, например сравнивать его с другим числом.
2 - так не пишут. просто не пишут и все. хотя можно написать, но зачем нам каунт, если мы ожидаем не число, а булиновое значение?
3 - проверка на пустой/не пустой массив - используется там где требуется именно эта проверка. отрабатывает быстрее чем каунт, но это заметно только при сравнении внутри большого кол-ва циклов, например при переборе десятков или сотен тысяч записей из бд.
при добавлении данных из формы 1 и 3 варианты отработают примерно с одинаковой скоростью.
проверка эта нужна потомоу что она нужна. просто приучайте себя проверять и валидировать все данные, которые приходят со стороны клиента, особенно когда эти данные вносятся в бд. (Отредактировано автором: 10 Марта, 2017 - 10:09:49)
|