批改状态:合格
老师批语:
array_keys($arr) 函数返回键名组成的索引数组array_key_first($arr) 函数返回数组中的第一个键名array_key_last($arr) 函数返回数组中的最后一个键名array_key_exists('id', $arr) 存在函数返回 true 不存在返回 falsearray_values($arr) 函数返回数组的值组成的索引数组in_array('OPPO', $arr) 存在函数返回 true 不存在返回 falsearray_search('OPPO', $arr) 存在函数返回键名 不存在返回 falsearray_unique($arr) 函数返回一个被删除了重复值的数组array_sum($arr) 函数返回相加求和结果array_product($arr) 函数返回相乘求积结果sort($arr) 函数直接对原数组进行按值升序排序 数组键名会重置asort($arr) 函数直接对原数组进行按值升序排序 数组键名保留ksort($arr) 函数直接对原数组进行按键升序排列krsort($arr) 函数直接对原数组进行按键降序排列13.自定义排序:利用回调函数自定义排序方法
usort($arr,function(){}) 函数直接对原数组按值进行用户指定的排序 不保留原数组键名uasort($arr, function(){}) 函数直接对原数组按值进行用户指定的排列 保留原数组键名uksort($arr,function(){}) 函数直接对原数组按键进行用户指定的排序
<?php$arr = [1=>88, 0=>78, 3=>98, 8=>28, 6=>38];usort($arr, function($val){return ($val < 50)?1:-1; //值小于50的往后排列});print_r($arr);echo '<hr>';$arr = [1=>88, 0=>78, 3=>98, 8=>28, 6=>38];uasort($arr, function($val){return ($val < 50)?1:-1; //值小于50的往后排列});print_r($arr);echo '<hr>';$arr = [1=>88, 0=>78, 3=>98, 8=>28, 6=>38];uksort($arr, function($k1, $k2){return ($k1 - $k2); //按键名从小到大排列});print_r($arr);echo '<hr>';

natsort($arr) 函数直接对原数组进行自然排序rray_slice($arr, 起始位置, 取出个数) 函数返回取出的指定部分形成的数组array_splice($arr, 起始位置, 删除个数, 要替换的数组)
<?php$arr = [1=>88, 0=>78, 3=>98, 8=>28, 6=>38];$res = array_splice($arr, 1, 0, ['增', '加']); //增加两个元素print_r($res);print_r($arr);echo '<hr>';$res = array_splice($arr, 1, 2); //删除前面增加的部分print_r($res);print_r($arr);echo '<hr>';$res = array_splice($arr, 1, 2, ['修', '改']); //修改部分元素print_r($res);print_r($arr);echo '<hr>';

array_combine($key,$value) 函数将两个数组合并成新的数组array_merge($key, $value, [100,200]) 函数将多个数组合并成一个新的数组 函数返回合并后的新数组
<?php$key = ['id', 'name', 'password'];$value = [100, 'root', 'root'];$res = array_combine($key,$value);print_r($res);echo '<hr>';$res = array_merge($key, $value, [100,200]);print_r($res);

array_filter($arr, function(){}) 函数返回通过回调函数返回值为 true 的数组 其键名与原数组键名相同array_map(function(){}, $arr) 函数返回经回调函数处理之后的新数组
<?php$arr = ['id', 100, 'name', 'root', 'password', 'root', 200];$res = array_filter($arr, function($val){return is_string($val)?$val:false;});print_r($res);echo '<hr>';$res = array_map(function($val){return is_numeric($val)?0:$val;},$arr);print_r($res);

19.关联数组与变量:
extract($arr) 函数将关联数组转为一组变量 执行之后可以直接使用关联数组的键名访问变量compact('var1', 'var2', ...) 函数将一组变量转为关联数组 函数返回一组关联数组 变量名为键名 变量值为数组的值
<?php$arr = ['brand'=>'xiaomi', 'model'=>'mix2s', 'price'=>3299];extract($arr);echo $brand,'--',$model,'--',$price;echo '<hr>';$res = compact('brand', 'model', 'price');print_r($res);

栈:先进后出的数据结构
队列:先进先出的数据结构
array_unshift()在数组开头插入一个或多个数据
array_shift()在数组头部删除一个或多个数据array_push()在数据尾部插入一个或多个数据arrsy_pop()在数据尾部删除一个或多个数据
<?php$stack = [];//在stack数组的头部进行增删数据array_unshift($stack, 1);array_unshift($stack, 2);array_unshift($stack, 3);print_r($stack);echo array_shift($stack);echo array_shift($stack);echo array_shift($stack);echo '<hr>';$stack = [];//在stack数组的尾部进行增删数据array_push($stack, 1);array_push($stack, 2);array_push($stack, 3);print_r($stack);echo array_pop($stack);echo array_pop($stack);echo array_pop($stack);echo '<hr>';$queue = [];//在queue数组的头部进行增加数据 尾部进行删除数据array_unshift($queue, 1);array_unshift($queue, 2);array_unshift($queue, 3);print_r($queue);echo array_pop($queue);echo array_pop($queue);echo array_pop($queue);echo '<hr>';//在queue数组的尾部进行增加数据 头部进行删除数据array_push($queue, 1);array_push($queue, 2);array_push($queue, 3);print_r($queue);echo array_shift($queue);echo array_shift($queue);echo array_shift($queue);

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号