[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вопрос по грамматике и сокращению
Страницы: 1, 2
maximka787
Мужики, подскажите

1 Как сократить такую запись?

function func()
{
if($a == 0){
return true;
}else{
return false;
}
}
Тоже самое или нет? return $a == 0;


2

Нужно проверить массив на а) то что это массив б) не пустой

if(isset($_POST['array']) && is_array($_POST['array']) && count($_POST['array']) > 0){

}

Реально ли сократить/заменить эту строку? Одна функция is_array и пустой массив пропускает.

_____________
..Работает - не трогай!
sergeiss
Цитата (maximka787 @ 13.03.2017 - 12:02)
Тоже самое или нет? return $a == 0;

То же самое.

PS. А вообще, в этой функции
function func()
{
if($a == 0){
return true;
}else{
return false;
}
}

у тебя есть одна несуразица :) Функцию можно упростить то такой:
function func()
{
if($a == 0){
return true;
}
return false;
}

Лучше использовать такую структуру, она более правильная. Безо всяких else. В том случае, естественно, когда кроме return там еще выполняются какие-то действия.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
maximka787
sergeiss
Спасибо. по поводу функции без else я тоже так делаю) Меня немного озадачила запись return $a == 0; чё думаю за дела...)

_____________
..Работает - не трогай!
comolov
Цитата
Нужно проверить массив на а) то что это массив б) не пустой

if( ! empty($_POST['array']) && is_array($_POST['array'])){

}
VeRTak
maximka787


$a == 0 ? TRUE : FALSE;
sergeiss
Wind, в данном случае это, честно говоря, извращение smile.gif Достаточно просто "return $a==0;"

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
VeRTak
sergeiss Я лишь показал еще один вариант smile.gif
Игорь_Vasinsky
function func()
{
if($a == 0){
return true;
}else{
return false;
}
}


терпеть не навижу кучу ретурнов.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
AllesKlar
maximka787
Очень рекомендую почитать Роберт Мартин. Чистый код.
За недельку осилишь, зато отпадет множество подобных вопросов.

_____________
[продано копирайтерам]
maximka787
AllesKlar
Спасибо за совет. Я и так стараюсь писать максимально понятный код, даже комментарии пишу smile.gif
Просто сокращения эти не всегда легче читать, хоть и по сути аналоги.

На прошлой неделе освоил, что скобки не ставим, после условия и одного return false; smile.gif Вот и начал изучать сокращения. А вообще не понимаю кодеров, которые со стажем, а пишут так, что совсем зеленый программист не сразу въезжает в суть, если вообще въедет.

_____________
..Работает - не трогай!
sergeiss
Цитата (maximka787 @ 14.03.2017 - 12:09)
А вообще не понимаю кодеров, которые со стажем, а пишут так, что совсем зеленый программист не сразу въезжает в суть, если вообще въедет.

А вот тут, плз, кусок кода в студию! Лучше даже несколько разных. С примерами, где сложно что-то понять.
Вполне может так быть, что проблема в самом "зеленом программисте", а не в опытном кодере.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
AllesKlar
maximka787
Цитата (maximka787 @ 14.03.2017 - 10:09)
На прошлой неделе освоил, что скобки не ставим, после условия и одного return false;

Почитай-почитай... там как раз написано почему так НЕЛЬЗЯ делать.

_____________
[продано копирайтерам]
Valick
function func($a, $b=false){
if($a == 0){
$b = true;
}
return $b;
}


_____________
Стимулятор ~yoomoney - 41001303250491
Игорь_Vasinsky
Valick
biggrin.gif


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Ron
Цитата (Игорь_Vasinsky @ 13.03.2017 - 17:40)
терпеть не навижу кучу ретурнов.

Ну они во многих случаях предотвращают ветвление, что очень неплохо. Не знаю как насчет кучи, но в сложных валидациях без некоторого количества обойтись практически нереально, чтобы не заветвить свой код до состояния нечитабельности. Подход "один вход один выход" показал себя не с самой лучшей стороны, имхо нет смысла к нему стремиться.

Цитата (AllesKlar @ 14.03.2017 - 00:34)
Очень рекомендую почитать Роберт Мартин. Чистый код.

Уууу, великая книга! По-моему там же написано почему не стоит использовать тернарники. На мой взгляд, одна из самых полезных книг по программированию. По пользе (положительному влиянию) ее можно сравнить разве что с книгами про паттерны/анти-паттерны. =)

maximka787, и еще почитай про PSR, если привыкать к хорошему коду/стилю, так сразу в полном объеме. Очень скоро ты поймешь, что читабельность гораздо важнее краткости. Более того, они как правило идут вразрез (противоречат друг другу).

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.