2014-02-12 42 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