Re: Array formatting from XML web service using Set::combine

2011-02-27 Thread Greg Skerman
sorry, second array should be:

array(
'Result' => array(
0 => array(
'userID' => 5,
'name' => 'bill'
),
1 => array(
'userID' => 25,
'name' => 'jane'
)
)
);


On Sun, Feb 27, 2011 at 11:34 PM, Greg Skerman  wrote:

> I'm having a bit of trouble with Set::combine when using it to deal with
> xml converted into an array.
>
> I am using the XML utility library, then Set::reverse() to flip it from an
> object into an array for easy traversal
>
> The problem is that if a child element only contains 1 record, it is
> formatted as such:
>
> array(
> 'Result' => array(
> 'userID' => 5,
> 'name' => 'bill'
> )
> );
>
> but if the the same child element contains multiple records, it is
> formatted as such:
>
> array(
> 'Result' => array(
> 1 => array(
> 'userID' => 5,
> 'name' => 'bill'
> ),
> 2 => array(
> 'userID' => 25,
> 'name' => 'jane'
> )
> )
> );
>
>
> how do I reliably reformat this array using Set::combine() to provide me
> with an array whos keys are userID and whos values are name?
>
> I've tried using Path1 as 'Result.{n}.userID' and Path2 as
> 'Result.{n}.name', however this will not work in the first instance as it is
> doesn't contain the {n} path
>
>
>
>

-- 
Our newest site for the community: CakePHP Video Tutorials 
http://tv.cakephp.org 
Check out the new CakePHP Questions site http://ask.cakephp.org and help others 
with their CakePHP related questions.


To unsubscribe from this group, send email to
cake-php+unsubscr...@googlegroups.com For more options, visit this group at 
http://groups.google.com/group/cake-php


Array formatting from XML web service using Set::combine

2011-02-27 Thread Greg Skerman
I'm having a bit of trouble with Set::combine when using it to deal with xml
converted into an array.

I am using the XML utility library, then Set::reverse() to flip it from an
object into an array for easy traversal

The problem is that if a child element only contains 1 record, it is
formatted as such:

array(
'Result' => array(
'userID' => 5,
'name' => 'bill'
)
);

but if the the same child element contains multiple records, it is formatted
as such:

array(
'Result' => array(
1 => array(
'userID' => 5,
'name' => 'bill'
),
2 => array(
'userID' => 25,
'name' => 'jane'
)
)
);


how do I reliably reformat this array using Set::combine() to provide me
with an array whos keys are userID and whos values are name?

I've tried using Path1 as 'Result.{n}.userID' and Path2 as
'Result.{n}.name', however this will not work in the first instance as it is
doesn't contain the {n} path

-- 
Our newest site for the community: CakePHP Video Tutorials 
http://tv.cakephp.org 
Check out the new CakePHP Questions site http://ask.cakephp.org and help others 
with their CakePHP related questions.


To unsubscribe from this group, send email to
cake-php+unsubscr...@googlegroups.com For more options, visit this group at 
http://groups.google.com/group/cake-php