<?php
echo "<pre>";
//1. define 可以数组
define('ANIMALS', [
'dog',
'cat',
'bird'
]);
echo ANIMALS[1] . PHP_EOL;
//2. 命名 空间 use some\namespace\{ClassA, ClassB, ClassC as C};
//2.1 catch允许抓取多个异常
//3. array_filter
function get_bigger($var){
return $var > 3 ? true : false;
}
$a1 = array(6, 2, 3, 4);
$result = array_filter($a1, "get_bigger");
var_dump($result);//[0 => 6, 3 => 4]
//4. array_map,映射,一对一
function myfunction($n){
return $n * $n * $n;
}
$a = array(1, 2, 3, 4, 5);
$new = array_map("myfunction", $a);
var_dump($new);//[1, 8, 27, 64, 125]
//5. array_walk 将数组中的元素用于某种操作
function bb($value, $key){
echo "The key $key has the value $value<br>";
}
$a = array("a" => "red", "b" => "green","c" => "blue");
array_walk($a, "bb");
//5.1 array_walk 改变数组中的值,传参的时候使用引用
array_walk($a, function(&$val, $key){
$val = $val . '-self';
});
var_dump($a);//['a' => 'red-self', ....],在值后面自定义添加self
//6. array_reduce 汇总,一堆->一个
$a = [1, 2, 3];
$num = array_reduce($a, function($result, $value){
return $result + $value;
}, 100);
echo $num . PHP_EOL;//100+1+2+3= 106
//6.1 array_reduce
$arr = [
['id'=> 1, 'name'=>"c"],
['id'=> 2, 'name'=>"b"],
['id'=> 3, 'name'=>"a"]
];
$str = array_reduce($arr, function($result, $value){
return $result . ",". $value['id'];
}, 'initValue');
echo $str . PHP_EOL; //initValue,1,2,3
//7. str_split
可以把字符串变成分割成数组
//8. array_splice
$a = [
[1,2,3],
[4,5,6]
];
//array_splice($a, 1, 0, [['a', 'b', 'c']]);//长度为0,其实是在index为1的地方插入[a,b,c]
//array_splice($a, 1, 1, [['a', 'b', 'c']]);//长度为1,其实是在index为1的地方替换[a,b,c]
echo "<pre>";
var_dump($a);
网友评论