php 接触的不常见函数

constant

constant — 返回一个常量的值

constant ( string $name ) : mixed    通过 name 返回常量的值。

当你不知道常量名,却需要获取常量的值时,constant() 就很有用了。也就是常量名储存在一个变量里,或者由函数返回常量名。

<?php
define("MAXSIZE", 100);
echo MAXSIZE.<br/>;
echo constant("MAXSIZE"); // same thing as the previous line
interface bar {
    const test = bar!;
}
class foo {
    const test = foo!;
}
$const = test;
var_dump(constant(bar::. $const)); // string(7) "foobar!"
var_dump(constant(foo::. $const)); // string(7) "foobar!"
?>

结果:100
100string(4) "bar!" string(4) "foo!"

 

array_walk()

对数组中的每个元素应用用户自定义函数:

语法:array_walk(array,myfunction,parameter...)

定义和用法

array_walk() 函数对数组中的每个元素应用用户自定义函数。在函数中,数组的键名和键值是参数。

注释:您可以通过把用户自定义函数中的第一个参数指定为引用:&$value,来改变数组元素的值(参见实例 2)。

提示:如需操作更深的数组(一个数组中包含另一个数组),请使用 array_walk_recursive() 函数。

<?php
function myfunction($value,$key,$p)//存在key和value 还可以多加一个参数
{
echo "$key $p $value<br>";
}
$a=array("a"=>"red","b"=>"green","c"=>"blue");
array_walk($a,"myfunction","has the value");
?>

只能带一个参数

array_map()

函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组。

语法:array_map(myfunction,array1,array2,array3...)

<?php
function myfunction($v)//只有value 没有key的
{
  return($v*$v);
}

$a=array(1,2,3,4,5);
print_r(array_map("myfunction",$a));
?>

结果

Array ( [0] => 1 [1] => 4 [2] => 9 [3] => 16 [4] => 25 )

array_filter()

用回调函数过滤数组中的元素:

array_filter() 函数用回调函数过滤数组中的元素,如果自定义过滤函数返回 true,则被操作的数组的当前值就会被包含在返回的结果数组中, 并将结果组成一个新的数组。如果原数组是一个关联数组,键名保持不变。

<?php
function myfunction($v) 
{
if ($v==="Horse")
    {
    return true;
    }
return false;
}
$a=array(0=>"Dog",1=>"Cat",2=>"Horse");
print_r(array_filter($a,"myfunction"));
?>

结果:

Array ( [2] => Horse )

php 接触的不常见函数

上一篇:html


下一篇:PHP Closure类详解(匿名函数的类)