? PHP 数组中有一个东西叫指针,默认指向数组第一个元素。
? //获取数组键名和键值
$arr = [
‘name‘ => ‘哈哈哈‘,
‘age‘ => ‘18‘
];
$key = key($arr); // 键
$value = current($arr); // 值
var_dump($key);
var_dump($value);
? //指针遍历数组
$arr = [
‘name‘ => ‘哈哈哈‘,
‘age‘ => 18,
‘sex‘ => ‘man‘
];
do {
$key = key($arr);
$val = current($arr);
var_dump($key);
var_dump($val);
} while(next($arr);
reset($arr); //重置指针
$arr1 = [
‘name‘ => ‘路飞‘,
‘age‘ => 18,
‘len‘ => 171,
];
// 获取$arr的所有值,并作为数组赋值给$res
$res = array_values($arr1);
var_dump($res);
//in_array(值, 数组) 返回的结果是布尔值
//检查数组$arr是否含有字符串正义联盟,并把返回结果赋值给$res
$res = in_array(‘正义联盟‘, $arr);
var_dump($res);
//自定义函数版本array_flip()
function fz($arr){
end($arr);
$succes = [];
do{
$succes[key($arr)] = current($arr);
}while(prev($arr));
return $succes;
}
//自定义函数版本array_reverse()
function fz($arr){
end($arr);
$succes = [];
do{
$succes[key($arr)] = current($arr);
}while(prev($arr));
return $succes;
}
$arr = [
0,
false,
10,
20
];
// 不写回调函数的时候
$res = array_filter($arr);
var_dump($res);
// 当我们写回调函数的时候
// 回调函数的作用就是自定义过滤条件
$res = array_filter($arr, function($val){
if ($val > 10) {
return true;
}
return false;
});
var_dump($res);
arr2 = [
10,
20,
30,
40,
50,
60
];
// 把数组中的每一个数字乘以自己的 格式化
array_walk($arr2, function(&$val, $key, $userdata){
$val = $userdata . ($val * $val);
}, ‘这里写自定义函数‘);
var_dump($arr2);
function cube($n)
{
return ($n * $n * $n); // 结果会改变数组的内容, 不会改变原有数组
}
$a = array(1, 2, 3, 4, 5);
$b = array_map("cube", $a);
print_r($a);
print_r($b);
原文:https://www.cnblogs.com/zylm/p/12579083.html