* Thus wrote Christian Jul Jensen ([EMAIL PROTECTED]):
>
> Hi
>
> Thanks for taking time to look into this.
>
> [EMAIL PROTECTED] (Red Wingate) writes:
>
>
> > this is a plain design fault on your side:
>
> I'm sorry, but I don't agree. It is standard in PHP4, and one of the
> advantages of having a type loose programming language.
Perhaps you misunderstand the 'loose' part of the variables,
basically there are 4 types of variables:
1. scalar
2. array
3. object
4. resource
How you can access each one differs.
>
> > Now this makes sense as you first of all would make sure if $a is an
> > array and not start with the first index ( which doesn't exist as $a
> > is not even an array )
>
>
> in PHP5, in order not to risk a fatal error, this would have to be:
>
> $my_array = $some_weird_function_that_returns_a_multidim_array();
> if( is_array($my_array['some']) &&
> is_array($my_array['some']['special']) &&
> is_array($my_array['some']['special']['value']) &&
> is_array($my_array['some']['special']['value']['that']) &&
> is_array($my_array['some']['special']['value']['that']['i']) &&
> is_array($my_array['some']['special']['value']['that']['i']['need'])
> ) {
> apply_logic();
> }
You just need:
if (is_array($my_array) &&
is_array($my_array['some']['special']['value']['that']['i']['need'])
) {
>
> I find this to be a problem, because it makes it hard to migrate
> scripts from PHP4, and I'd rather spend my time using the new object
> model and XML support, than going through old scripts to make sure
> they comply with a new behaviour which I see no good reason for.
I think the question is why is this a fatal error versus a simple
E_WARNING.
Curt
--
"I used to think I was indecisive, but now I'm not so sure."
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php