4 fonctions Array que vous devez connaître en PHP

Guanhui
Libérer: 2023-04-08 15:02:01
avant
3446 Les gens l'ont consulté

Dans le développement quotidien, foreach est la syntaxe que nous utilisons le plus, mais il existe de nombreux endroits qui peuvent être complétés sans foreach, et elle est plus rapide que foreach. Par conséquent, cet article vous présente les quatre fonctions d'opération de tableau array_filter(), array_map(), array_walk() et array_reduce(). Tant que nous apprenons ces quatre fonctions, nous n'avons pas besoin d'écrire autant d'opérations de boucle pendant le développement, et l'efficacité est plus rapide que les valeurs de boucle.

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 )
Copier après la connexion

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} <br/>";
});
//返回结果
// 0 is a 
// 1 is b 
// 2 is c 
// 3 is d 
// 4 is e 
// 5 is f 
// 6 is 8
Copier après la connexion

array_walk()

$arr = [&#39;a&#39;,0,&#39;b&#39;,&#39;c&#39;,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 &#39;a3&#39; (length=2)
// 1 => string &#39;b3&#39; (length=2)
// 2 => string &#39;c3&#39; (length=2)
// 3 => string &#39;d3&#39; (length=2)
// 4 => string &#39;e3&#39; (length=2)
// 5 => string &#39;f3&#39; (length=2)
// 6 => string &#39;83&#39; (length=2)
Copier après la connexion

array_reduce()

//一个数组求和,还可以给第三个参数,作为第一个值
$array = [10,15,20,60];
$as = array_reduce($array,function($k,$v){  
    print_r(&#39;k:&#39;.$k); echo "<br/>";
    print_r(&#39;v:&#39;.$v); echo "<br/>"; 
    return $k + $v;
},50);
print_r(&#39;总计:&#39;.$as);
// k:50
// v:10
// k:60
// v:15
// k:75
// v:20
// k:95
// v:60
// 总计:155echo "<br/>";
Copier après la connexion


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal