🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### 数组结构打印 print_r(); ### 创建一个随机数组 ~~~ //第一个,第二个是范围,第三个是步长 range(1,10,3); range('a','z',1); //26个字母 ~~~ ### 数组输出 * for 关联数组无法使用for循环,只能用foreach * foreach ~~~ for ($i=0; $i <count($arr) ; $i++) { # code... } foreach ($arr as $key => $value) { } ~~~ ### each() **作用:取得当前数组,打包成一个新的数组** 返回数组当前的键/值,并对数组指针向前移动一位 ~~~ $arr=array('李彦宏'=>1111,'马云'=>2222,'樟茶鸭'=>3333); //把数组的元素拿出来,包装成一个4个元素的新数组 each($arr); //每执行一次,指针向后移动一次,指针☞马云 $b=each($arr); echo "<pre>"; print_r($b); ~~~ 返回 ~~~ Array ( [1] => 1111 [value] => 1111 [0] => 李彦宏 [key] => 李彦宏 ) ~~~ 循环打印出来 ~~~ while(!!$a=each($arr)){ echo $a['key'].'----'.$a['value']; } ~~~ ### list()函数 list只能认识索引数组 把数组中的值,分别赋给变量 list($a,$b)=each($arr); ~~~ $arr1=array(2,4,6,89); list($a,$b)=$arr1; echo $a; ~~~ 取得each里面的索引值,过滤掉关联值 ~~~ $arr=array('李彦宏'=>1111,'马云'=>2222,'樟茶鸭'=>3333); list($a,$b)=each($arr); echo $a; echo $b; ~~~ ### reset() 把数组的指针指向第一单元 在each()里面,可以重复取值 ### array_unique() 移除重复数组的值,不会改变原数组 ### array_flip() 交换数组中的键和值,不会改变原数组 ### 数组排序sort 按数字排序,数字大小 * sort($arr,SORT_STRING); 按字符串排序,看第一个字母大小 * sort($arr,SORT_NUMERIC); ### asort 对数组排序,保持原始索引关系 ### ksort 对数组进行键名排序,比较键名的大小,即key-sort ### rsort 从大到小排序 ~~~ rsort krsort arsort ~~~ ### 数组随机排序 ~~~ //让内容随机出现 $arr=array(4,6,8,5,4,3,77); $arr1=shuffle($arr); for ($i=0; $i <3 ; $i++) { # code... } ~~~ ### 数组逆序排列 array_reverse(); ### 数组插入元素 * 末尾添加 array_push() * 开头添加 array_unshift() `array_push($arr,'aaa')` ### 删除元素 * 结尾删除 array_pop() * 开头删除 array_shift() ### 随机取一个数组小标 array_rand(); ~~~ //随机一个 $a=array_rand($arr,1); //随机2个 $b=array_rand($arr,2); $b[0]; $b[1]; ~~~ ### 数组指针操作 #### current($arr) 获取指针当前元素,指针不变 each()指针会下移一步 #### next($arr) 指针下一个元素 #### prev() 上一个元素 #### sizeof() 等同于count #### array_count_values() 统计数组中每个值出现的次数,返回新的数组 #### extract() 把下标转为变量,同时把变量的值即为数组的值 ~~~ $arr=array('a'=>'bac','f'=>'第二个'); extract($arr); echo $f; //$f='第二个' ~~~