array_filter、array_walk、array_map的区别

  1. <?php
  2. $arr=array(
  3. 1,2,3,4,5,6
  4. );
  5. function filter($var){
  6. if($var%2==0)
  7. return true;
  8. }
  9. $data=array_filter($arr,"filter");
  10. $data=array(2,4,6);
  11. ?>
  1. <?php
  2. $arr1=array(‘linux‘,‘Php‘,‘JAVA‘);
  3. array_map(‘strtoupper‘,$arr1);
  4. ?>

原文地址:https://www.cnblogs.com/php-linux/p/10625330.html

时间: 2024-10-15 06:43:22

array_filter、array_walk、array_map的区别的相关文章

php中array_map,array_filter,array_walk区别

在php中array_map,array_filter,array_walk三个函数都是对数据操作的,下面我来介绍这三个函数的用法与区别. array_walk: array_walk()返回布尔值,如果回调函数需要直接作用于数组中的值,则给回调函数的第一个参数指定为引用.这样任何对这些单元的改变也将会改变原始数组本身.此函数可以同时获取到数组的key和value. array_map: array_map() 返回一个数组,该数组包含了 arr1 中的所有单元经过 callback 作用过之后

array_walk 与 array_map的 区别

1.array_walk是用于用户自定义的函数,所以想用array_walk($aIds, "trim");去掉数据元素中的空格是达不到目的的只能用array_walk($aIds, create_function('&$val', '$val = trim($val);')); 2.想完成上边的需求其实更加合适用$aNewIds = array_map("trim", $aIds);来实现.   与array_walk不一样,array_map的参数是值,

array_walk与array_map的区别

1.array_walk是用于用户自定义的函数,所以想用array_walk($aIds, "trim");去掉数据元素中的空格是达不到目的的只能用array_walk($aIds, create_function('&$val', '$val = trim($val);')); 2.想完成上边的需求其实更加合适用$aNewIds = array_map("trim", $aIds);来实现.   与array_walk不一样,array_map的参数是值,

array_filter与array_map

php数组array_filter函数和array_slice函数:<?php /* array_filter()用回调函数过滤数组中的单元 array_filter(array,function) 参数描述:如果自定义过滤函数返回 true,则被操作的数组的当前就会被包含在返回的结果数组中, 并将结果组成一个新的数组,如果原数组是一个关联数组,键名保持不变. */ function delEmpty($val) { <?php $arr = [1,2,3,4,false,null,'',fa

Webshell免杀绕过waf

0x01 前言# 尽最大努力在一文中让大家掌握一些有用的WEBSHELL免杀技巧 0x02 目录# 关于eval 于 assert 字符串变形 定义函数绕过 回调函数 回调函数变形 特殊字符干扰 数组 类 编码绕过 无字符特征马 PHP7.1后webshell何去何从 总结 0x03 关于eval 于 assert# 关于eval函数在php给出的官方说明是 eval 是一个语言构造器而不是一个函数,不能被 可变函数 调用可变函数:通过一个变量,获取其对应的变量值,然后通过给该值增加一个括号()

PHP常见代码执行后门函数

PHP常见代码执行后门函数 代码执行: 应用程序在调用一些能够将字符串转换为代码的函数(例如php中的eval中),没有考虑用户是否控制这个字符串,将造成代码执行漏洞. 常见php代码执行函数介绍 常用执行代码函数 1.eval(): <?php @eval($_POST['hacker']); ?> eval函数将接受的字符串当做代码执行 2. assert(): 用法和 eval()一样 <?php @assert($_POST['hacker']); ?> 3.preg_re

php中的for 和foreach性能对比

总体来说,如果数据库过几十万了,才能看出来快一点还是慢一点,如果低于10万的循环,就不用测试了,两者性差异不明显.但是我还是推荐用foreach.循环数字数组时,for需要事先count($arr)计算数组长度,需要引入自增变量$i,每次循环都要进行条件判断$i<$c,然后自增$i++,输出数组元素时,$arr[$i]需要进行哈希操作. 而foreach循环数组时,指针会自动指向下一个元素,不需要计算数组长度,没有条件判断和自增变量,调用元素时也没有哈希操作,所以性能肯定要比for和while高

你应该这个姿势学习PHP(2)

1.循环数组有哪几种方式 1)foreach(能够循环关联和索引数组以及对象) 2)for(只能循环索引数组) 3)list和each配合使用循环数组 $arr = ['a'=>1,'b'=>2]; while(list($key,$val) = each($arr)){ echo $key$,val } 2.is_array(),is_bool,is_int(),is_integer(),is_numeric(),is_string(),is_object(),is_null,is_file

PHP闭包的使用

一.介绍 匿名函数(Anonymous functions),也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数.最经常用作回调函数(callback)参数的值.当然,也有其它应用的情况. 二.使用场景 1.动态调用静态类的时候 <?php class test { public static function getinfo() { var_dump(func_get_args()); } } call_user_func(array('test', 'getinfo'),