PHP array_walk() 函数

10-12 842 views

定义和用法

array_walk() 函数对数组中的每个元素应用回调函数。如果成功则返回 TRUE,否则返回 FALSE。

典型情况下 function 接受两个参数。array 参数的值作为第一个,键名作为第二个。如果提供了可选参数 userdata ,将被作为第三个参数传递给回调函数。

如果 function 函数需要的参数比给出的多,则每次 array_walk() 调用 function 时都会产生一个 E_WARNING 级的错误。这些警告可以通过在 array_walk() 调用前加上 PHP 的错误操作符 @ 来抑制,或者用 error_reporting()

语法

array_walk(array,function,userdata...)
参数 描述
array 必需。规定数组。
function 必需。用户自定义函数的名称。
userdata 可选。用户输入的值,可作为回调函数的参数。

提示和注释

提示:您可以为函数设置一个或多个参数。

注释:如果回调函数需要直接作用于数组中的值,可以将回调函数的第一个参数指定为引用:&$value。(参见例子 3)

注释:将键名和 userdata 传递到 function 中是 PHP 4.0 新增加的。

例子 1

<?php
function myfunction($value,$key) 
{
echo "The key $key has the value $value<br />";
}
$a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse");
array_walk($a,"myfunction");
?>

输出:

The key a has the value Cat
The key b has the value Dog
The key c has the value Horse

例子 2

带有一个参数:

<?php
function myfunction($value,$key,$p) 
{
echo "$key $p $value<br />";
}
$a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse");
array_walk($a,"myfunction","has the value");
?>

输出:

a has the value Cat
b has the value Dog
c has the value Horse

例子 3

改变数组元素的值(请注意 &$value):

<?php
function myfunction(&$value,$key) 
{
$value="Bird;
}
$a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse");
array_walk($a,"myfunction");
print_r($a);
?>

输出:

Array ( [a] => Bird [b] => Bird [c] => Bird )

升级php7.2后,加密函数mcrypt_module_open()被废弃的解决方案。

方案1 直接输入 pecl install mcrypt-snapshot 此方案的好处是不用改代码 方案2 <?php class Encrypt{ //base64_encode(openssl_random_pseudo_bytes...

阅读全文

elasticsearch+kibana+filebeat+headPlugin配置参考

参考链接 filebat: https://www.elastic.co/cn/downloads/beats/filebeat https://www.elastic.co/cn/products/beats/filebeat Elastic Stack : https://www...

阅读全文

使用.env文件区分不同的线上环境数据库配置

有时候本地项目和线上项目需要不同的配置文件,这样就用到了.env文件。 1.首先在你的项目根文件夹下创建.env文件 并写入内容 DB_CONNECTION=mysql DB_HOST=12...

阅读全文

欢迎留言