0

配列のリストがあり、それらを printf ステートメントで出力する必要があります

<?php
$example = array("first" => "Bob", "last" => "Smith", "address" => "123 Spruce st" );
$example = array("first" => "Sara", "last" => "Blask", "address" => "5678 Maple ct" );

foreach ($example as $key => $val) {
  printf("<p>hello my name is %s %s and i live at %s</p>",$example['first'],$example['last'], $example['address']);
}

?> 

上記は最後の配列を出力するだけです。すべての配列をループして<p>、提供されたkey => value組み合わせで を生成する必要があります。実際のコードは出力でより複雑になるため、これは単純化された例にすぎません。html

私は試した

foreach ($example as $arr){
printf("<p>hello my name is %s %s and i live at %s</p>",$arr['first'],$arr['last'], $arr['address']);
}

ただし、それぞれに1文字しか出力しませんkey => value

4

4 に答える 4

2

次のようなことを試してください:

// Declare $example as an array, and add arrays to it
$example = array();
$example[] = array("first" => "Bob", "last" => "Smith", "address" => "123 Spruce st" );
$example[] = array("first" => "Sara", "last" => "Blask", "address" => "5678 Maple ct" );

// Loop over each sub-array
foreach( $example as $val) {
    // Access elements via $val
    printf("<p>hello my name is %s %s and i live at %s</p>",$val['first'],$val['last'], $val['address']);
}

このデモから、次のように表示されることがわかります。

hello my name is Bob Smith and i live at 123 Spruce st
hello my name is Sara Blask and i live at 5678 Maple ct
于 2012-09-11T18:46:44.407 に答える
1

2 次元配列を取得して追加するには、example も配列として宣言する必要があります。

$example = array();
$example[] = array("first" => "Bob", "last" => "Smith", "address" => "123 Spruce st" ); # appends to array $example
$example[] = array("first" => "Sara", "last" => "Blask", "address" => "5678 Maple ct" );
于 2012-09-11T18:46:54.147 に答える
0

$example両方の行を上書きしています。多次元の「配列の配列」が必要です:

$examples = array();
$examples[] = array("first" ...
$examples[] = array("first" ...

foreach ($examples as $example) {
   foreach ($example as $key => $value) { ...

もちろん、printf配列を割り当てる代わりに、すぐに実行することもできます。

于 2012-09-11T18:47:30.437 に答える
0

配列の配列を作成し、メイン配列をループする必要があります。

<?php

$examples[] = array("first" => "Bob", "last" => "Smith", "address" => "123 Spruce st" );
$examples[] = array("first" => "Sara", "last" => "Blask", "address" => "5678 Maple ct" );

foreach ($examples as $example) {
  printf("<p>hello my name is %s %s and i live at %s</p>",$example['first'],$example['last'], $example['address']);
}

?> 
于 2012-09-11T18:48:38.870 に答える