Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Преобразовать массив в строку [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (3): « 1 [2] 3 »   

> Без описания
exlant
Отправлено: 21 Апреля, 2015 - 13:03:50
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




ну если по стандартам psr, то да! Если по работоспособности кода, то нет!
 
 Top
DeepVarvar Супермодератор
Отправлено: 21 Апреля, 2015 - 13:19:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Ну и правильно - PSR не говнокодеры ж писали, надо прислушиваться хотябы.
 
 Top
tato
Отправлено: 22 Апреля, 2015 - 09:48:31
Post Id



Посетитель


Покинул форум
Сообщений всего: 468
Дата рег-ции: Сент. 2011  
Откуда: Владивосток


Помог: 8 раз(а)




exlant пишет:
ну если по стандартам psr, то да! Если по работоспособности кода, то нет!


Обязательно. Вы не объявили массив, Ваш интерпретатор Вам это простил. Отдали код заказчику, а там на сервере E_ALL и display_errors, на сайте заказчика нотис.
Он(Заказчик) думает, что это ошибка(онжнепрограммист) и дает Вам "по шапке", т.к. Вы дали ему не рабочий(с его точки зрения) код.

кататак.


-----
просто ?: сложно
 
 Top
exlant
Отправлено: 22 Апреля, 2015 - 10:33:52
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




tato Можете рассказать, кому то другому! Если я не объявил массив, никаких нотисов не вылезет! У меня всегда включено показывать все ошибки, нотисы, варнинги, деприкейты! И ни разу по этому поводу не вылазило никаких уведомлений!
Идите читайте мануал, там все написано!
 
 Top
DelphinPRO
Отправлено: 22 Апреля, 2015 - 16:23:28
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




exlant пишет:
Идите читайте мануал, там все написано!

Да, там все написано, перечитайте внимательно. Улыбка
(про notice я загнул, возможно, но, тем не менее, вы не правы, говоря о необязательности инициализации массива)


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
DeepVarvar Супермодератор
Отправлено: 22 Апреля, 2015 - 16:50:47
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




DelphinPRO, tato - узбагойдезь, пусь говнокодит дальше, ваш труд будет стоить выше чем его.
 
 Top
exlant
Отправлено: 22 Апреля, 2015 - 17:12:51
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




DeepVarvar лично тебе вообще ничего не хочу доказывать, с твоим, если со мной не согласны то говнокодинг...

Цитата:

Хотя в PHP и нет необходимости инициализировать переменные, это считается очень хорошей практикой. Неинициализированные переменные принимают значение по умолчанию в зависимости от их типа, который определяется из контекста их первого использования: булевы принимают значение FALSE, целые и числа с плавающей точкой - ноль, строки (например, при использовании в echo) - пустую строку, а массивы становятся пустыми массивами.


А тут (в мануале пыха) черным по белому написано, что нет необходимости инициализировать переменные(в том числе массивы, ведь массив это тип переменной)! Хотя считается хорошей практикой их все таки объявлять! С чем я полностью согласен! Это как принятые стандарты оформления кода, могу их придерживаться, могу не придерживаться! Так и с массивами, могу их объявлять, могу не объявлять! Работоспособность кода не измениться! Это и называется необязательно!
 
 Top
MiksIr
Отправлено: 22 Апреля, 2015 - 17:28:27
Post Id


Забанен


Покинул форум
Сообщений всего: 378
Дата рег-ции: Сент. 2014  


Помог: 10 раз(а)

[+]


Тут такое дело. Когда дока говорит про отсутствие необходимости объявлять переменные, она говорит про особенности языка. В других языках нужно - ибо нужно выделять память заранее. В PHP - не нужно, все динамически.

Но документация не говорит, про возможные баги и т.п. Она вообще об этом не любит говорить, особо в ранних версиях. Вспомним, основная проблема из-за которой выпилили register_globals от греха подальше... ага, не инициализированные переменные.

Т.е. вы можете писать $var[0] = "aaa" спокойно, не нарушая синтаксиса языка (а значит без нотиса). Но если у вас где-то экраном выше $var = "fddd", или менее очевидное foreach($array as $key=>$var) { ... }, то вы получите проблемы на ровном месте.

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


-----
self-banned
 
 Top
exlant
Отправлено: 22 Апреля, 2015 - 17:32:57
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




MiksIr так в том то и дело, что я придерживаюсь этим стандартам! Но и считаю их не обязательными! Вот и все...
(Добавление)
MiksIr и да! полностью с вами согласен!
 
 Top
MiksIr
Отправлено: 22 Апреля, 2015 - 17:40:18
Post Id


Забанен


Покинул форум
Сообщений всего: 378
Дата рег-ции: Сент. 2014  


Помог: 10 раз(а)

[+]


=) Считайте эти "стандарты" техникой безопасности. Те, кто считает технику безопасности необязательной (типа, а в этом случае точно ничего плохого случится не может)... часто плохо заканчивают. Так обязательная она или нет? ;)


-----
self-banned
 
 Top
exlant
Отправлено: 22 Апреля, 2015 - 17:43:19
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




и с техникой безопасности, точно так же)) знать нужно обязательно))) а вот придерживаться или нет, зависит от случая))
 
 Top
armancho7777777 Супермодератор
Отправлено: 22 Апреля, 2015 - 22:33:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




exlant пишет:
с того что вот здесь массив сам создастся

Не создастся, если итерируемый массив будет пустым.

(Отредактировано автором: 22 Апреля, 2015 - 22:38:50)

 
 Top
DelphinPRO
Отправлено: 22 Апреля, 2015 - 23:34:48
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




exlant пишет:
Это и называется необязательно!

Необязательно - это последняя запятая в перечислении членов массива.
А неинициализированная переменная - это потенциальная проблема.
Отсюда вывод - нужно писать правильно. Всегда, без исключений.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
armancho7777777 Супермодератор
Отправлено: 23 Апреля, 2015 - 00:12:36
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




DelphinPRO пишет:
Необязательно - это последняя запятая в перечислении членов массива.

+1
 
 Top
exlant
Отправлено: 23 Апреля, 2015 - 01:53:14
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




все так дружно на меня накинулись... а и за чего спрашивается Хм ?? Из-за того что я повторил, то что в мануале php написано Не понял Ппц.. просто!
Не буду с вами со всеми спорить, останусь просто при своем мнении!
 
 Top
Страниц (3): « 1 [2] 3 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB