You can avoid the E_NOTICE using a reference, but it can have undesired
side effects.  For example, if you pass $x[5] by reference (whether to
an internal function or a user defined function), $x[5] will be 
"created" and set to NULL.  To avoid this side-effect, don't use the
reference and instead use @$x[5] as the first argument to the function.
(but DO NOT use @$x[5] as an argument to a function that takes a 
reference - it may cause a crash/corruption later.)

- Todd

On Thu, 2004-04-15 at 13:14, Jason Garber wrote:
> >I wrote this (I underlined the relevant parts for you):
> >
> > > >You'll need something more clever, because
> > > >an undefined key 'CUST_ID' in $_POST['CUST_ID'] will strill throw a
> 
> 
> Consider this:
> 
> -----------------------------------
> <?php
> 
> error_reporting(E_ALL);
> 
> function setor(&$param, $default)
> {
>          return (isset($param) ? $param : $default);
> }
> 
> 
> $x = setor($x, 10);    ///Should Produce an E_NOTICE
> 
> echo gettype($x) . ':' . $x . "\n";
> 
> ?>
> -----------------------------------
> 
> This DOES NOT produce an E_NOTICE like you said (notice the &).  However, 
> $param1 is defined and NULL inside the function, even though $x was not a 
> defined variable outside the function??
> 
> ~Jason

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to