4

配列のすべての要素を正常に出力する次のコードを見つけました。キーを一度出力し、次にそのキーに対応するすべての値、次に別のキー、次にキーに対応するすべての値を出力するように変更するにはどうすればよいですか? また、各キーの最初の 9 つの値 (これ以下) のみを出力するように変更したいと思います。

 function printAll($a) {
  if (!is_array($a)) {
    echo $a, ' ';
     return;
   }

   foreach($a as $v) {
   printAll($v);
  }
 }
4

5 に答える 5

4
function printAll($a) {
    if (!is_array($a)) {
        echo $a, ' ';
        return;
    }

    foreach($a as $k => $value) {
         if($k<10){
             printAll($k);
             printAll($value);
        }
    }
}
于 2012-12-22T21:14:05.673 に答える
2
function printAll($a) {
  foreach ($a as $k => $v) {
    echo $k, ' ';
  }

  printAllVals($a);
}

function printAllVals($a) {
  if (!is_array($a)) {
    echo $a, ' ';
      return;
   }

   foreach($a as $k => $v) {
     if ($k < 10) {
       printAllVals($v);
     }
   }
}
于 2012-12-22T21:20:17.157 に答える
2

print_rvar_dumpまたはの何が問題になっていvar_exportますか?

それはさておき、ドキュメントを読むと、foreach繰り返し処理しているキーを取得する方法が明確にわかります。

于 2012-12-22T21:13:14.180 に答える
0

試してみてください:

foreach($a as $k => $v)

$kあなたのキーはどこにあり、$vまだ価値があります。

于 2012-12-22T21:13:08.653 に答える