0

PHP で foreach ループを次のように作成しました。

foreach( $value as $element_content => $content ) {

  $canvas_elements = "<div id='" . $element_id . "'>" . $content . "</div>";  
  $elements[] = $canvas_elements;

}

したがって、次のように PHP 配列で値を取得します。

print_r($elements);

しかし、これにより結果が得られます。

Array ( [0] =>
Text to edit
[1] =>
Text to edit
) 

しかし、私はこの出力のみが必要であり、配列ではありません ( [0] => など:

<div id="element_id1"></div>
<div id="element_id2"></div>

これはどのように行われますか?

4

4 に答える 4

1

マークアップをエコー/印刷するだけの場合は、配列を気にする必要はありません。

foreach( $value as $element_content => $content )
{
    echo "<div id='" . $element_id . "'>" . $content . "</div>";  
}

ただし、その配列の使用を主張する場合は、次のようにします。

echo implode('', $elements);

あなたが望んでいたように、配列を文字列に変換します。あなたの使用print_rは、よりデバッグ機能であるため、前進する方法ではありません:ドキュメントを確認してください

変数に関する人間が読める情報を出力します

ちょっとした詳細:$elementsどこにも配列として宣言していないようです。PHP は新しい変数を作成し、それに空の配列を割り当てますが、これは十分に真実ですが、ini 設定を に変更するとE_STRICT | E_ALL、文句を言わずにこれを行うわけではないことに気付くでしょう。(そして当然
のことながら)事前に変数を宣言して初期化することをお勧めします。書くこと$elements = array();は難しくないし、費用もかからない。いずれにせよ、通知を作成するよりもコストがかかりません。

于 2013-08-02T09:02:35.660 に答える
0

このように使う

<?php 
 $data = array('a'=>'apple','b'=>'banana','c'=>'orange');
 $string = implode("<br/>", $data);
 ?>
<pre><?php print_r($string); ?></pre>

出力

apple
banana
orange
于 2013-08-02T09:02:56.693 に答える
0

print_r($array)は、変数の値をユーザーに表示する関数です。これはデバッグ目的で作成されています。HTML 出力が必要な場合は、"echo" などを使用してください。

foreach( $value as $element_content => $content ) {
    echo "<div id='" . $element_id . "'>" . $content . "</div> \n";
}
于 2013-08-02T09:03:33.547 に答える
0
$elements = array();
foreach( $value as $element_content => $content ) {
    $canvas_elements = "<div id='" . $element_id . "'>" . $content . "</div>"; 
    $elements[] = $canvas_elements;
}
echo $mergedStrArray = implode("\n", $elements);

私のために試してもらえますか、うまくいきますか?

于 2013-08-02T09:04:49.230 に答える