PHP で知っておくべき 4 つの配列関数

Guanhui
リリース: 2023-04-08 15:02:01
転載
3289 人が閲覧しました

日常の開発では、foreach が最もよく使用される構文ですが、foreach を使用せずに完了できる箇所も多くあり、foreach よりも優れています。もっと早く。そこでこの記事では、array_filter(),array_map(),array_walk(),array_reduce() 配列演算関数について説明します。この 4 つの関数を学習すれば、開発中にループ操作をそれほど多く記述する必要がなく、効率はループ値よりも高速です。

#array_filter()

$arr = ['a',0,'b','c',1,2,3,4,5,6,7];
//过滤掉所有的数字,只要字符串  减少自己循环的必要
$new_arr = array_filter($arr,function($v){
  if(is_string($v)){
    return $v;
  }
});
print_r($new_arr);
//返回结果
// Array ( [0] => a [2] => b [3] => c )
ログイン後にコピー

array_map()

$arr1 = [1,2,3,4,5];
$arr2 = [6,7,8,9,10,55];
 
//函数写前面,数组参数写后面   2个数组的计算,也不需要自己循环计算
$new_arr = array_map(function($val1,$val2){
   return $val1 + $val2;
},$arr1,$arr2);
 
var_dump($new_arr);
//返回结果
//array (size=5)
//  0 => int 7
//  1 => int 9
//  2 => int 11
//  3 => int 13
//  4 => int 15
//  5 => int 55
 
//将数组中的元素用于某种操作
$arr = ['a','b','c','d','e','f',8];
array_walk($arr,function($val,$key){
    echo "{$key} is {$val} 
"; }); //返回结果 // 0 is a // 1 is b // 2 is c // 3 is d // 4 is e // 5 is f // 6 is 8
ログイン後にコピー

array_walk()

$arr = ['a',0,'b','c',1,2,3,4,5,6,7];
//改变数组中的值,传参的时候使用引用   同意加个连接符3
array_walk($arr,function(&$val,$key){
    $val = $val . 3;
});
var_dump($arr);
// array (size=7)
// 0 => string 'a3' (length=2)
// 1 => string 'b3' (length=2)
// 2 => string 'c3' (length=2)
// 3 => string 'd3' (length=2)
// 4 => string 'e3' (length=2)
// 5 => string 'f3' (length=2)
// 6 => string '83' (length=2)
ログイン後にコピー

array_reduce()

//一个数组求和,还可以给第三个参数,作为第一个值
$array = [10,15,20,60];
$as = array_reduce($array,function($k,$v){  
    print_r('k:'.$k); echo "
"; print_r('v:'.$v); echo "
"; return $k + $v; },50); print_r('总计:'.$as); // k:50 // v:10 // k:60 // v:15 // k:75 // v:20 // k:95 // v:60 // 总计:155echo "
";
ログイン後にコピー


以上がPHP で知っておくべき 4 つの配列関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!