2014-02-12 57 views
0

我正在使用PHP的数组,我试图交换数组的项目。我有这样的代码:如何交换多维数组中的元素在php

<html> 
<body> 
<p> 
<?php 
    $test2 = array ( array("!","#","#"), 
         array("@","!","#"), 
         array("@","@","!",) 
        ); 

    for($f=0; $f < count($test2); $f++) 
    { 
     for($g=0; $g < count($test2); $g++) 
     { 
      if($g >= 2) 
      { 
      echo "{$test2[$f][$g] } ";   
      } 
      else 
      { 
      echo "{$test2[$f][$g] }- ";   
      }   
     } 
     echo "<br>"; 
    } 

    ... 

上面的代码具有的输出:

!- #- # 
@- !- # 
@- @- ! 

我想交换阵列的索引,以便输出将是这样的:

!- @- @ 
#- !- @ 
#- #- ! 

谢谢你们的帮助。

+0

所以你试图颠倒内部和外部数组的顺序,或者你想保持数组完整并简单地以相反的顺序输出它们吗? –

+0

为什么你不减少你的for循环? http://phpfiddle.org/main/code/kb5-m3x – GuyT

+0

你也可以简化'if'。将其替换为:'echo($ g> = 2)? “{$ test2 [$ f] [$ g]}”:“{$ test2 [$ f] [$ g]} - ”;' – GuyT

回答

1

只需切换列排,

$test2[$f][$g] => $test2[$g][$f] 

DEMO

+0

现在可以工作。谢谢 – user1998735