Ferenc Kovacs wrote:
On Wed, Nov 23, 2011 at 10:51 AM, Lester Caine <les...@lsces.co.uk
<mailto:les...@lsces.co.uk>> wrote:
Ferenc Kovacs wrote:
some clarification:
in the test script, Daniel declared $arr as:
$arr = array('exists' => 'foo');
so when he tests
$arr['exists']['non_existent']
PHP will see that $arr['exists'] is a string, and it will convert the
'non_existent' index to int(0) and that will return the same
as $arr['exists'][0]: 'f'
If he would have defined $arr['exists'] as an array, then the code would
work as
he expected, empty would returned true for
$arr['exists']['non_existent']
The bit I am missing here is the statement that $arr = array ... has NOT
created an array with an element ['exists']
yes it did, but ['exists'] wasn't defined as an array, but as a string.
THAT was what was confusing things ... but I wonder what code was failing in
PEAR? The code here was looking for an array element to check that the ARRAY had
been populated, but the holding element was just a simple string rather than an
empty array.
... I suspect that this is perhaps where the code *I* am looking at is
breaking down ... how SHOULD you define the array so that it is an array? So
that $family = array ( 'fam1' => 'JONES' ); is the base for the JONES family
rather than simply a string. All of this USED to be simple, but it seems to
be getting so cryptic that this is what is causing the trouble :(
The legacy code methods may be wrong, but a lot of this code originates in PHP4
days, so when things do break what is needed is a clean upgrade guide which may
help to isolate the bugs when they appear?
I think you just need a coffee.
No just a version of PHP where I'm not firefighting changes but getting back to
actually producing new code :( I can either test 5.4 or work ... I don't have
time for both ...
--
Lester Caine - G8HFL
-----------------------------
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk//
Firebird - http://www.firebirdsql.org/index.php
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php