> -----Original Message-----
> From: Stewart Macdonald [mailto:[EMAIL PROTECTED]
> Sent: 27 April 2007 10:13
> To: [email protected]
> Subject: [PHP] Recursive function for array task?
>
>
> Hi all,
>
> I've got a bit of a logic problem that I can't figure out.
>
> I've got an array:
>
> Array
> (
> [B] => X
> [C] => Q,K
> [D] => M
> [F] => V
> [G] => N
> [I] => X,M
> [K] => C
> [M] => I,V
> [Q] => C
> [R] => U
> [V] => M
> [X] => I
> )
>
> This array shows groupings of objects:
> B is paired with X
> X is also paired with I
> I is also paired with M
> M is paired with V and D
> V is paired with F
> F and D aren't paired with anything else, so that's the end of one
> group.
> There are a few other pairs in the array. So this array contains the
> following groups:
> B,X,I,M,V,F,D
> C,Q,K
> G,N
> R,U
>
> The general structure of each element in the array is:
> [key] -> code1, code2, code3, ..... codeN
>
> N is theoretically unlimited (but practically limited to about 50).
> The key can be a value in the array multiple times, but each key
> should be unique.
>
> It's easy to look at the array and manually work out these groups,
> but I can't find a way to programatically work out groups.
>
> I've tried to write a recursive function to do it. The function works
> most times, but it's stalling on the above array.
>
> Does PHP have an array function that would let me 'collapse' all
> these together somehow? If it makes it easier (i.e., there's a way of
> doing this if the original array is formatted differently) I can re-
> write the code that generates the original array.
>
> I'm sure I'm overlooking something simple. Can anyone offer any help?
> I don't want to manually work out groups from thousands of arrays!
>
>
> Thanks!
>
> Stewart
>
Interesting problem. I've got a few ideas but please could you clarify what
you want as the output? Is it just an array of the groups, i.e.
Array
(
[0] => 'B,X,I,M,V,F,D'
[1] => 'C,Q,K'
[2] => 'G,N'
[3] => 'R,U'
)
Edward
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php