2012-09-02 32 views
-1

我有一个问题,并试图在PHP中解决。我需要你的想法来解决这个问题。 我会尽力解释,希望我能。在PHP中打印三维数组的叶元素的所有可能性

我有一个这样的数组:

$mainArr = array(array("a","b","c"),array("1","2","3"),array("x","y","z")); 
Array 
(
    [0] => Array 
     (
      [0] => a 
      [1] => b 
      [2] => c 
     ) 

    [1] => Array 
     (
      [0] => 1 
      [1] => 2 
      [2] => 3 
     ) 

    [2] => Array 
     (
      [0] => x 
      [1] => y 
      [2] => z 
     ) 

) 

我试图做的是打印片式元件的所有3种可能性。像这样:

a1x 
a1y 
a1z 

a2x 
a2y 
a2z 

a3x 
a3y 
a3z 

b1x 
b1y 
b1z 

. 
. 
. 

我试图形成一个算法来做到这一点,但我被卡住了。

你能帮我解决这个问题吗?

在此先感谢

回答

2
foreach ($mainArr[0] as $level1) 
    foreach ($mainArr[1] as $level2) 
    foreach ($mainArr[2] as $level3) 
     echo $level1 . $level2 . $level3 . "<br />"; 
+0

谢谢你的回答。 如果我们知道叶顶节点的数量,该解决方案是有效的。在我们的例子中,它的3. 但是如果我们不知道节点的数量怎么办。 例如,如果$ mainArr有3个元素,解决方案是真实的,但是如果我们不知道$ mainArr有多少元素呢? –

+0

然后你会使用一个单行递归函数。如果你问过这个问题,我会提供答案。 –