-1

を使用foreachして文字列にコンテンツを追加するときは常に使用しますが、最初に、不要なコードの余分な行のように見える$x .= 'content'変数を宣言します。$x = ''これを行うためのより良い方法はありますか?

これが良い例です:

$options = array('Link 1', 'Link 2', 'Link 3')
$output = '';
foreach($options as $value) $output .= '<a href="#">' . $value . '</a>';
echo $output;
4

3 に答える 3

3

以下のように三項演算子を試すことができますが、これもコードです。私が間違っていない限り、「非」宣言の方法はありません。

$options = array('Link 1', 'Link 2', 'Link 3');
foreach($options as $value) (isset($output) ? $output .= '<a href="#">' . $value . '</a>' : $output = '<a href="#">' . $value . '</a>');
echo $output;
于 2013-01-24T18:06:06.880 に答える
1

1行で実行したい場合は、次のようにすることができます。

foreach() {
    $output = isset($output) ? $output . $more : $more;
}

しかし、これは同じで、三項演算子で書かれています:-)

于 2013-01-24T18:02:36.733 に答える
0

いいえ、クリーンなコードではありません。理論的には、「$ output=''」という行を省略できます。結果は同じになります。ただし、これは非常に悪いスタイルであり、バグが発生しやすく、これらの理由により、レベルNOTICEのPHP警告が生成されます(デフォルトでは表示されません)。

于 2013-01-24T18:00:18.000 に答える