Correcting teacher:Guanhui
Correction status:qualified
Teacher's comments:数组函数是PHP编程中非常重要的部分,一定要多看多练。
$arr = ['id' => 1, 'name' => 'admin', 'email' => '123@qq.com'];
print_r(array_keys($arr));
$arr = [0 => 1, 5 => 8, 2 => 'php', 'id' => 'html', 12 => 15, 15];
print_r(array_values($arr));
echo array_key_exists('email', $arr) ? '存在' : '不存在';
echo in_array('php1', $arr) ? '有' : '没有';
echo array_key_first($arr);
echo array_key_last($arr);
var_dump(array_search('php', $arr));
print_r(array_unique($arr));
$arr = [5, 8, 10];
echo array_sum($arr);
// 把字符串也转成数值了
echo "<hr>";
$arr = [5, 8, 10, '555'];
echo array_sum($arr);
// 字符串开头是字母,就忽略了
echo "<hr>";
$arr = [5, 8, 10, 'p555'];
echo array_sum($arr);
$stack = [];
echo array_push($stack, 10, 20, 50);
print_r($stack);
echo array_pop($stack);
echo array_pop($stack);
echo array_pop($stack);
var_dump(array_pop($stack));
echo array_unshift($stack, 10, 20, 50);
print_r($stack);
echo array_shift($stack);
echo array_shift($stack);
echo array_shift($stack);
$queue = [];
array_push($queue, 10, 40, 60);
print_r($queue);
echo array_shift($queue);
echo array_shift($queue);
echo array_shift($queue);
array_unshift($queue, 1, 3, 5);
print_r($queue);
echo array_pop($queue);
echo array_pop($queue);
echo array_pop($queue);
$arr = [10, 12, 15, 20, 'b', 't', 55, 66];
asort($arr);
print_r($arr);
$arr = [10, 12, 15, 20, 'b', 't', 55, 66];
sort($arr);
print_r($arr);
$arr = ['d' => 50, 'b' => 12, 'p' => 15];
ksort($arr);
print_r($arr);
$arr = ['d' => 50, 'b' => 12, 'p' => 15];
krsort($arr);
print_r($arr);
$arr = ['img1.jpg', 'img9.jpg', 'img2.jpg', 'img5.jpg'];
print_r($arr);
natsort($arr);
print_r($arr);
$stu = ['id' => 2, 'name' => '小芳', 'age' => 25, 'course' => 'php', 'grade' => 90];
$res = array_slice($stu, 0);
// 只取前2个
$res = array_slice($stu, 0, 2);
$res = array_slice($stu, 1, 3);
// 从负3开始取
$res = array_slice($stu, -3);
$arr = [2, 5, 10, 42, 12, 75, 60];
$res = array_splice($arr, 2, 0, [777, 666]);
print_r($res);
print_r($arr);
$keys = ['type', 'host', 'dbname', 'username', 'password'];
$values = ['mysql', 'localhost', 'phpedu', 'root', 'root'];
print_r(array_combine($keys, $values));
$arr = [10, 'php', true, [4, 5, 6], (new class{}), [], null, false, '', 0, '0'];
$res = array_filter($arr, function ($item) {
return is_scalar($item);
});
print_r($res);
$arr = ['php', [1, 2, 3], (new class{public $name = '手机'; public $price = 8999;}), 10, 30];
$res = array_map(function ($item) {
// 判断当前元素是对象还是数组?gettype
// object是对象,如果是对象,就获取属性
// array是数组,如果是数组,就进行拼接,转为字符串,输出
switch (gettype($item)) {
case 'object':
$item = get_object_vars($item);
$item = implode(', ', $item);
break;
case 'array':
$item = implode(', ', $item);
}
return $item;
}, $arr);
print_r($res);
$id = 1;
$username = 'admin';
$gender = '女';
print_r(compact('id', 'username', 'gender'));