これは、よりベスト プラクティスの質問です。
foreach ステートメントで 2 つの関数を実行したいとします (これらの関数の戻り値を組み合わせて、ループの 1 つの要素として使用するため)、次のようなステートメントでそれらを組み合わせます。
foreach(function1($data).function2($data) AS $key=>$value)
またはこれを行うためのより良い方法はありますか?
function1とfunction2が配列を返す場合:
foreach(array_merge(function1($data),function2($data)) AS $key=>$value)
まず、配列は+
orarray_merge()
で連結されます。ドットは文字列にのみ使用されるため、文字列 "ArrayArray" が得られます。
次に、可読性と保守性を向上させるために、関数呼び出しとループの初期化を分離する必要があります。
$fileList = function1($data);
$fileList += function2($data);
foreach($fileLists AS $key=>$value) {
}
これはコードの結果やパフォーマンスに違いをもたらさないことに注意してください。デバッグと理解に役立つだけです (ちなみに、これは一般的により重要です)。