Есть ли удобная замена конструкции... if(@$v) $v=...

baev

‹°°¬•
Команда форума
идиоты все ранво не поймут.
diamond_krnl А судьи кто?...
оскорблений в твою сторону не было,
а ты хамишь.
— гы!
Да он просто не понял...
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Popoff:
по-моему, как-то неубедительно смотрится статья об ошибках с ошибкой (ещё и дважды) в названии первого же раздела.
 

Popoff

popoff.donetsk.ua
baev
fixed

Считаешь, нужно описать факты о наличии опечаток в любом тексте? %)
 

phpdev2007

Новичок
Popoff
Как такой ценности не заметил в статьи, хотя для новичков будет полезно почитать, особенно:
PHP:
// попробовать запустить 
$test = false;
if (false = $test) {
}
if (false === $test) {

}
if (false == $test) {

}
И понять отличия этих трех if, а так в статье очень много воды, если в общем.
 

phpdev2007

Новичок
вот метод использования об котором я писал выше:
http://framework.zend.com/apidoc/core/Zend_Controller/Request/Zend_Controller_Request_Http.html
Данный объект очень похож на объект запроса который используется в java
 

AmdY

Пью пиво
Команда форума
phpdev2007, это немного разные вещи, "данные с запроса" и "существование переменной".
ИМХО, @ - это как секс без презерватива.
 

Ноябрь

Новичок
>@ - это как секс без презерватива
мдя...

Popoff
Прочитав статью я задумался о качестве моего кода..

верно ли писать
$pan_ar=array();
$pan_ar['id']=array();
$pan_ar['name']=array();
$pan_ar['logotip']=array();

или это лишнее?

есть ли разница между
settype($pan_ar,"array") и $pan_ar=array()?
 

SiMM

Новичок
> есть ли разница между settype($pan_ar,"array") и $pan_ar=array()?
PHP:
$pan_arr = "test";
settype($pan_ar,"array");
var_dump($pan_arr); // string(4) "test"

$pan_arr = array(1,2);
settype($pan_ar,"array");
var_dump($pan_arr); // array(2) { [0]=>int(1) [1]=>int(2) }

$pan_arr = "test";
$pan_arr = array();
var_dump($pan_arr); // array(0) { }
[m]settype[/m]
[m]function.array[/m]
 

phpdev2007

Новичок
Автор оригинала: SiMM
> есть ли разница между settype($pan_ar,"array") и $pan_ar=array()?
PHP:
$pan_arr = "test";
settype($pan_ar,"array");   // А зачем разные переменные?
var_dump($pan_arr); // string(4) "test"

$pan_arr = array(1,2);
settype($pan_ar,"array");// А зачем разные переменные?
var_dump($pan_arr); // array(2) { [0]=>int(1) [1]=>int(2) }

$pan_arr = "test";
$pan_arr = array();
var_dump($pan_arr); // array(0) { }
[m]settype[/m]
[m]function.array[/m]
 

Ноябрь

Новичок
если говорить об определении типов переменных, а не о заполнении массива, то, помоему, разницы нет..
PHP:
settype($ar1,'array');
settype($ar1['word'],'array');
print_r($ar1);//Array ( [word] => Array ( ) ) 
$ar2=array();
$ar2['word']=array();
print_r($ar2);//Array ( [word] => Array ( ) )
=====================================

Автор оригинала: HraKK
Есть очень красивая замена.
PHP:
if(!empty($v))
в данном случае
PHP:
if(!@$a){
	echo 'aaa';
}
if(empty($a)){
	echo 'bbb';
}
нет никакой разницы..
 

Духовность™

Продвинутый новичок
нет никакой разницы..
есть одна большая разница - одни криво пишут, другие - нет.

@ - это подавление ошибки. Это отладочный инструмент, сиюминутный, а не элемент синтаксиса языка.
 

cDLEON

Онанист РНРСlub
triumvirat
Не хочется начинать опять холи-вар, но использывать @ можно и нужно, в некоторых местах. И это ни как не криво-запись. Да и вообще, на много удобочитаемей чем
PHP:
if(!empty($blabla) && $blabla=="blabla") {}
ЗЫ. Ошибки могут и не возникать вообще, если их после разработки и отладки кода выключить error_reporting(0);
 

Фанат

oncle terrible
Команда форума
cDLEON
в нормальном коде такие проверки не требуются.
в нормальном коде пишут if($blabla=="blabla").
И вот это то, чего вы все ни хера не понимаете.
Что цель - чтобы переменная всегда была определена.
а не чтобы "от ошибок избавиться" - идиотизм конченый.
после разработки и отладки кода выключить error_reporting(0);
а вот за это надо просто убивать, с размаху, об кирпичную стену.

-~{}~ 27.11.07 16:08:

http://phpfaq.ru/debug2
просвещайся.
 

Breeze

goshogun
Команда форума
Партнер клуба
и чего вообще к empty привязались?
она не предназначена для проверки существования переменной

if(!empty($blabla) && $blabla=="blabla") {} нахрена тут две проверки?
 

Фанат

oncle terrible
Команда форума
их здесь не две, а три =)
по хорошему, как я писал выше, должна быть одна.
если не понимать, почему пхп ругается на андефайнед вариабле, и писать только чтобы заткнуть ему пасть, надо делать две - if(isset($blabla) && $blabla=="blabla")
ну а три - как здесь - и вовсе дурость
 
Сверху