在做二维数组随机排序的时候,发现shuffle 函数挺好用,就不用在做负载的数组随机排序了,对于二维数组同样可以随机排列
php中的shuffle()函数是一个非常有用的函数,常用于随机重排数组中的元素。这个函数可以在很多开发场景中,特别是在游戏和随机化程序中,找到广泛的应用。本文将详细介绍shuffle()函数的用法和相关注意事项。
shuffle()函数没有返回值,它直接修改传递给它的数组,让元素的顺序随机变化。
同样适用于二维数组
<?php
$my_array = array("PHP", "HTML", "CSS", "JavaScript", "SQL");
shuffle($my_array);
print_r($my_array);
?>
array_filter() 函数用回调函数过滤数组中的元素。
该函数把输入数组中的每个键值传给回调函数。如果回调函数返回 true,则把输入数组中的当前键值返回给结果数组。数组键名保持不变。
$arr = array(1, 2, 3, 4, 5);
newArr = array_filter(arr, function($element) {
return $element > 2;
});
print_r($newArr); //输出:Array ( [2] => 3 [3] => 4 [4] => 5 )
在上面的例子中,我们传入了一个回调函数,该函数用于判断数组中的每个元素是否大于2,如果是,则保留该元素,否则删除该元素。经过处理后,只有元素3、4、5被保留下来。
也可以适应闭包函数 如下
result = array_filter(result['list'], function (item) use (topic_type) {
if($topic_type == '4'){
return $item['is_dt'] == '1';
}else{
return $item['type'] == $topic_type && $item['is_dt'] == 0; //多个条件筛选
}
// $item['small_title'] == null;
});
进行模糊搜索 如下
$users = array(
array('name' => '张三', 'phone' => '13811112222', 'email' => 'zhangsan@example.com'),
array('name' => '李四', 'phone' => '13911113333', 'email' => 'lisi@example.com'),
array('name' => '王五', 'phone' => '15011112222', 'email' => 'wangwu@example.com'),
array('name' => '赵六', 'phone' => '18011114444', 'email' => 'zhaoliu@example.com')
);
function search_users($keyword, $users) {
result = array_filter(users, function(user) use (keyword) {
foreach($user as $value) {
if(stripos($value, $keyword) !== false) {
return true;
}
}
return false;
});
return $result;
}