PHP では、array_map、array_filter、array_walk の 3 つの関数がすべてデータを操作します。これら 3 つの関数の使い方と違いを紹介します。
配列ウォーク:
array_walk() はブール値を返します。コールバック関数が配列内の値に直接作用する必要がある場合は、コールバック関数の最初のパラメーターを参照として指定します。これらのセルを変更すると、元の配列自体も変更されます。この関数は配列のキーと値を同時に取得できます。
配列マップ:
array_map() は、コールバックが適用された後、arr1 内のすべてのセルを含む配列を返します。コールバックによって受け入れられる引数の数は、array_map() 関数に渡される配列の数と一致する必要があります。
簡単に言うと、コールバック関数は配列内の各値に最終的な影響を与え、array_map の呼び出しの戻り値に反映されます。
この関数は複数の配列を同時に操作できます。そして最後に配列にマージされます (各配列は添字に従って同じ 2 次元配列に並列に配置されます)。
配列フィルター:
この関数は特に過去の配列の要素に使用されます。簡単に言うと、コールバック関数によって判定された配列内の値をフィルタリングし、array_filter()関数を通じて処理された配列を返します。
したがって、この点を分析した後、array_walk と array_map を使用して配列の前処理を行うことができます。最も一般的なのは、各配列値のトリム操作です。以下は作者のサンプルコードです:
コードは次のとおりです | コードをコピー |
$tmp = array(' AAAA BBBB CCCC ', 'aaaa bbbb c ', ' dddddd eeeeee'); 関数 array_walk_func(&$v, $k) { 関数 array_map_func($v) {
配列(3) { |