簡體   English   中英

PHP多維數組

[英]PHP multi dimensional Array

Array
(
    [a] => Array
        (
            [a] => Array
                (
                    [a] => a
                    [b] => b
                )

            [b] => Array
                (
                    [a] => a
                    [b] => b
                )

        )

    [b] => Array
        (
            [a] => Array
                (
                    [a] => a
                    [b] => b
                )

            [b] => Array
                (
                    [a] => a
                    [b] => b
                )

        )

)

如何從上面的數組下面得到一個字符串?

aaa,aab,aba,abb,baa,bab,bba,bbb

您可以簡單地編寫一個遞歸函數以將鍵自動串聯在一起。

function getKeysString($array, $prefix = '') {  
  $keys = array();

  foreach($array as $key => $value) {
    $str = $prefix.$key;

    if(is_array($value)) {
      $str = getKeysString($value, $str);
    }

    $keys[] = $str;
  }

  return implode(',', $keys);
}

因此,給定數組:

$arr = array (
  'a' => array (
    'a' => array (
      'a' => null,
      'b' => null
    ),
    'b' => array (
      'a' => null,
      'b' => null
    )
  ),
  'b' => array (
    'a' => array (
      'a' => null,
      'b' => null
    ),
    'b' => array (
      'a' => null,
      'b' => null
    )
  )
);

以下內容將為您提供所需的結果:

$result = getKeysString($arr);
 $str = array();
foreach($array as $key1 => $value1)
{
   foreach($value1 as $key2 => $value2)
   {
     foreach($value2 as $key3 => $value3)
        $str[]= $key1.$key2.$key3;
   }
}

echo implode(',', $str);

PHP中的多維數組

$Student = array(array("Adam",10,10),

                array("Ricky",10,11),

                array("Bret",15,14),

                array("Ram",14,17)
          );

for($i=0;$i<=3;$i++){

    for($j=0;$j<=2;$j++){
        print_r($Student[$i][$j]);

        echo "<br>";    
    }
}
<?php    
     $Student = array(array("Adam",10,10,10),    
                      array("Ricky",10,11,10),    
                      array("Bret",15,14,10),    
                      array("Ram",14,17,10)
                     );

    for($i=0;$i<=3;$i++){    
        for($j=0;$j<=3;$j++){    
                print_r($Student[$i][$j]);    
                echo "<br>";            
        }
    }
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM