-1

メソッドが呼び出されたクラスがあるpaint()ので、呼び出す$object->paint();と、htmlコードが返され、オブジェクトを好きなように表示します。関数内に、これらのオブジェクトの配列があるので、次のようにします。

$code = '<p class="wrapper">';
foreach( $object_arr as $object ){
    $code .= $object->paint();
}
$code .='</p>';
echo $code;

しかし、iḿが得た結果は次のとおりです。

<p class="wrapper"></p>
<figure id="f1">Figure 1</figure>
<figure id="f2">Figure 2</figure>
...
<figure id="fn">Figure n</figure>

関数paint()は、オブジェクトをペイントするためのコードを返します。

<p class="wrapper">
    <figure id="f1">Figure 1</figure>
    <figure id="f2">Figure 2</figure>
    ...
    <figure id="fn">Figure n</figure>
</p>

私はそれを間違って何をしていますか?

4

3 に答える 3

1

さらにいくつかのコードが役立つでしょうが、これはあなたを正しい軌道に乗せるかもしれません。

$object_arrの配列とは何ですか。オブジェクトの例をオブジェクト配列に投稿できますか?

私の例では、id="fnn"を取得するためにインデックスも渡す必要があります。

さらにコードを投稿すれば、私の答えを明確にすることができます。

<?php
function paint($str){
    return '<figure id="fn">'.$str.'</figure>';
}
$object_arr =Array('happy','beans');
$code = '<p class="wrapper">';
foreach( $object_arr as $object ){
    $code .= paint($object);
}
$code .='</p>';
echo $code;
于 2013-01-11T23:48:21.107 に答える
1

あなたが見ている結果はあなたのブラウザによって修正されるかもしれません。pは子として受け入れないfigureため、ブラウザは最初のを閉じることで修正する場合があります<p class="wrapper">

于 2013-01-11T23:54:00.110 に答える
-2

一重引用符を使用している場合は、メソッド呼び出しの前にタブを配置します。

$code .= '    ' . $object->paint();

しかし、これは簡単です。

$code .= "\t" . $object->paint();
于 2013-01-11T23:44:06.893 に答える