2016-06-29 5 views
0

における2次元連想配列外エコー[0] - [名前]、[説明]
[1] - [名前]、[説明]
[2] - 私は2つのforeachがしようとすると、このように、それぞれの名前と説明をエコーするループを作成
Iデータがこのフォーマット</p> <p>中でエコーされたいPHP

$options = array('guide_info' => $guide_info); 

$guide_info = array('guide_name' => $guide_name, 
        'guide_description' => $guide_description 
        ); 

[名前]、[説明]:

foreach ($options as $key => $value) { 
    foreach ($guide_info as $type => $info){ 
     $html .= $type . " " . $info . "\n"; 
    } 
} 

しかし、2番目のループでforeach()に指定された無効な引数についてのエラーが表示されます。

現在、私のしますprint_r($ options)は

Array ([guide_name] => f 
     [guide_description] => fff 
     [0] => Array ( 
         [guide_name] => fsss 
         [guide_description] => sssss 
        ) 
     ) 

と私がしますprint_rが表示されていること、正しい情報をエコーすることができるだろうどのように私のエコープリント

guide_name fsss 
guide_description sssss 
guide_name fsss 
guide_description sssss 
guide_name fsss 
guide_description sssss 

を示して?

+0

それがしますprint_rが表示されている情報を表示していませんか?私はguide_nameの後ろにfsssがあり、guide_descriptionの後にsssssがあることを意味します。それは正しいのですか?どのように間違っていますか? –

+2

また、上記のように '$ guide_info'を使用する' $ options'配列を作成したが、その後ろに '$ guide_info'を作成したことに気付きました。私は '$ guide'部分を' $ options'部分の上に移動すべきだと思います。 –

+0

私のエコーは2回目のインスタントを3回印刷しています。 fとfff –

答えて

1

に名前と説明値をエコーする再帰関数を使用します希望のフォーマット。

function process_array($arr, $counter){ 
    foreach($arr as $key => $value){ 
     if(is_array($value)){ 
      process_array($value, ++$counter); 
     }else{ 
      if($key == "guide_name"){ 
       echo "[" . $counter . "] - [" . $value . "]["; 
      }else{ 
       echo $value . "]<br />"; 
      } 
     } 
    } 
} 

// Here $options is your original array 
process_array($options, 0); 

出力:

[0] - [f][fff] 
[1] - [fsss][sssss] 
+0

ありがとう!それは私が必要なことを –

+0

@ Sophie.J喜んで私が助けることができます。乾杯! :-) –

+0

こんにちは!簡単な質問ですが、ユーザーが特定のオプションを編集して削除できるようにするにはどうすればよいですか? –

0
$guide_info = array('guide_name' => 'guid name', 
       'guide_description' => 'guid description', 
       ); 
$options = array('guide_info' => $guide_info); 

foreach ($options as $key => $value) { 
    foreach($value as $a => $b) { 
echo $a," =",$b ; 
} 
} 

もしくはますprint_r

foreach ($options as $key => $value) { 
    print_r($value) ; 
} 
0

は、なぜあなたは$ options.Ifでの$ guide_infoを入れているため、あなたは$ guide_infoからすべてのエントリをしたい、あなたはthis-

for($i = 0; $i < count($guide_info); $i++){ 
     $html .= $type . " " . $info . "\n"; 
    } 

を行うことができます - > $ guide_infoが多次元配列であると考えると、array([0] => 'guide_name' => $ guide_name、 'guide_description' => $ guide_description)

の$ guide_infoが重要であり、いくつかの理由であれば、私はそれが連想ない添字の配列であることを示唆しているが..あなたが解決策を見つけることを願って:)

関連する問題