Re: Strange array access problem

From: Date: Wed, 26 Oct 2005 04:50:21 +0000
Subject: Re: Strange array access problem
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-224659@lists.php.net to get a copy of this message
On Wed, 2005-10-26 at 00:28, Ken Tozier wrote: > I'm having a major problem with what seems, on it's face, to be a > really basic array function. > > What happens is on the browser end, I've written some javascript code > that packages up javascript variables in native PHP format and sends > the packed variables to a PHP script on the server via a POST and > XMLHTTP. On the server end, the PHP script grabs the packed variables > out of the $_POST, strips slashes and uses the "unserialize" command. > > Here's the function that gets the post data > $unpacked_data = GetDataFromPOST(); > > And here's a var_dump of $unpacked_data as it appears in the browser > array(1) { ["handler"]=> array(1) { ["0"]=> string(9) > "databases" } } > > I'm able to get the "handler with no problem like so: > $parts = $unpacked_data['handler']; > > Which yields the following var_dump > array(1) { ["0"]=> string(9) "databases" } I did the following as a test: <?php $unpacked_data = array ( 'handler' => array ( '0' => 'databases', ), ); ?> var_dump( $unpacked_data ); and I did... <?php $unpacked_data = array ( 'handler' => array ( "0" => 'databases', ), ); var_dump( $unpacked_data ); ?> I also tried: <?php $unpacked_data = array ( 'handler' => array ( '"0"' => 'databases', ), ); var_dump( $unpacked_data ); ?> But no matter what I did I could NOT get var_dump to dump my 0 key for the 'databases' as you have in your output. So methinks therein may lie your problem. Perhaps during the serialization in javascript check if the key is an integer-like string and if so then convert to an integer for the key serialization. Let us know if it works :) Cheers, Rob. -- .------------------------------------------------------------. | InterJinn Application Framework - http://www.interjinn.com | :------------------------------------------------------------: | An application and templating framework for PHP. Boasting | | a powerful, scalable system for accessing system services | | such as forms, properties, sessions, and caches. InterJinn | | also provides an extremely flexible architecture for | | creating re-usable components quickly and easily. | `------------------------------------------------------------'

« previous php.general (#224659) next »