ホームページ  >  記事  >  バックエンド開発  >  Xin Xing は、array_walk と array_map の接続と違いを簡単に分析します。 array walk class array walk trim array walk anonymous function

Xin Xing は、array_walk と array_map の接続と違いを簡単に分析します。 array walk class array walk trim array walk anonymous function

WBOY
WBOYオリジナル
2016-07-29 08:54:241179ブラウズ

これら 2 つの関数の具体的な使い方を見てみましょう。 1 つ目は array_walk です。コードは次のとおりです。

<?php
$arr = array(2,4,5,6,7);

function xin(&$val,$key){
	$val =  $val*$val;
}

array_walk($arr, "xin");
var_dump($arr);
出力内容は次のとおりです。

array (size=5)
  0 => int 4
  1 => int 16
  2 => int 25
  3 => int 36
  4 => int 49
array_map についても、 example :

<?php

function xin($a,$b){
	return $a*$b;
}
 
$arr = array(2,3,4,5);
$brr = array(5,6,7,8);
$crr = array_map("xin",$arr,$brr);
var_dump($crr);
出力は次のとおりです:

array (size=4)
  0 => int 10
  1 => int 18
  2 => int 28
  3 => int 40

たとえば、配列を走査すると、両方の関数を実装できますが、一般的に言えば、それらの焦点は異なることがわかります。 (1)array_map は同時に n 個の配列を走査できますが、array_walk は通常 1 個の配列を走査します。

(2)array_map には戻り値が必要です。戻り値は新しい配列を形成する必要があるためです。ただし、array_walk は通常は元のデータを変更するために使用されるため、通常は必要ありません。

(3)array_map は通常データの役割を持ちますが、array_walk はデータの削除や追加を推奨せず、値の変更のみを推奨します。

もちろん、場合によっては同じ機能を実現できます。この 2 つは別個のものではありませんが、特定の共通点があります。

上記は、array と walk の内容を含め、Xin Xing による array_walk と array_map の関係と違いの簡単な分析を紹介したもので、PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。