1

これは、よりベスト プラクティスの質問です。

foreach ステートメントで 2 つの関数を実行したいとします (これらの関数の戻り値を組み合わせて、ループの 1 つの要素として使用するため)、次のようなステートメントでそれらを組み合わせます。

foreach(function1($data).function2($data) AS $key=>$value)

またはこれを行うためのより良い方法はありますか?

4

2 に答える 2

2

function1function2が配列を返す場合:

foreach(array_merge(function1($data),function2($data)) AS $key=>$value)
于 2013-03-28T13:06:28.717 に答える
1

まず、配列は+orarray_merge()で連結されます。ドットは文字列にのみ使用されるため、文字列 "ArrayArray" が得られます。

次に、可読性と保守性を向上させるために、関数呼び出しとループの初期化を分離する必要があります。

$fileList = function1($data); 
$fileList += function2($data);
foreach($fileLists AS $key=>$value) {
}

これはコードの結果やパフォーマンスに違いをもたらさないことに注意してください。デバッグと理解に役立つだけです (ちなみに、これは一般的により重要です)。

于 2013-03-28T13:08:14.137 に答える