博主信息
博文 8
粉丝 0
评论 0
访问量 7742
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
数组的基础知识
无声胜有声丶
原创
802人浏览过

数组的种类与定义

1.索引数组:
默认从0开始编号

  1. $goods = ['001', '智能手机', '华为', '2568'];
  2. printf('<pre>%s</pre>',print_r($goods, true));
  3. echo $goods[2];

2.关联数组:

  1. $goods = ['id'=>'001', 'name'=>'智能手机', 'model'=>'华为', 'price'=>'2568'];
  2. printf('<pre>%s</pre>',print_r($goods, true));
  3. echo $goods['name'];

数组的遍历

逐个遍历,也叫数组指针
current(): 值
key(): 键

  1. $stu = [
  2. 'id' => '001',
  3. 'name' => '张三',
  4. 'age' => 18,
  5. 'grade' => 78,
  6. ];
  7. // next($stu):指针下移一位,指向下一个元素
  8. next($stu);
  9. printf('[ %s ] => %s', key($stu), current($stu));
  10. next($stu);
  11. printf('[ %s ] => %s', key($stu), current($stu));
  12. // prev($stu): 指针前移
  13. prev($stu);
  14. printf('[ %s ] => %s', key($stu), current($stu));
  15. // reset($stu): 指针复位
  16. reset($stu);
  17. printf('[ %s ] => %s', key($stu), current($stu));

foreach():自动生成
可以省去手工步骤

  1. foreach ($stu as $value) {
  2. echo $value;
  3. }

数组函数

键名函数:

  1. $arr = ['id'=>001, 'name'=>'张三', 'email'=>'zhangsan@qq.cn'];
  2. function array_keys_2($arr) {
  3. $keys = [];
  4. while ($key=key($arr)){
  5. $keys[] = $key;
  6. next($arr);
  7. }
  8. return $keys;
  9. }
  10. // array_keys():直接返回键名组成的数组
  11. print_r(array_keys_2($arr));

和值相关的的函数:
array_search():在数组中查找指定的元素
array_unique():去掉重复的

  1. $arr = [3 => 10, 9 => 20, 0 => 'html', 'id' => 'css', 20 => 20,30];
  2. printf('<pre>%s</pre>',print_r($arr,true));
  3. function array_values_1($arr) {
  4. $values = [];
  5. foreach ($arr as $value) {
  6. $values[] = $value;
  7. }
  8. return $values;
  9. }
  10. printf('<pre>%s</pre>',print_r(array_values($arr),true));
  11. var_dump(array_search('css', $arr));
  12. print_r(array_unique($arr));

数组求和
array_sum: 数组求和

  1. $arr = [10,20,30,55,11];
  2. function array_sum_1(...$arr) {
  3. $sum = 0;
  4. foreach ($arr as $c) {
  5. $sum += $c;
  6. }
  7. return $sum;
  8. }
  9. echo array_sum($arr);


仅允许在数组一段进行新增或删除的操作,后进先出

  1. $stack = [];
  2. // 在尾部操作
  3. // array_push():元素进栈
  4. echo array_push($stack, 10);
  5. echo array_push($stack, 30);
  6. echo array_push($stack, 50, 70);
  7. // array_pop:元素出栈
  8. echo array_pop($stack);
  9. echo array_pop($stack);
  10. printf('<pre>%s</pre>', print_r($stack, true));
  11. // 在头部操作
  12. // array_unshift():元素进栈
  13. echo array_unshift($stack, 'css');
  14. printf('<pre>%s</pre>', print_r($stack, true));
  15. // array_shift()元素出栈
  16. echo array_shift($stack);
  17. printf('<pre>%s</pre>', print_r($stack, true));

array_slice()
从数组中取出一部分元素

  1. $stu = ['id' => 201, 'name' => '张三丰', 'age' => '50'];
  2. // 取出第一个
  3. $res = array_slice($stu, 0,1);
  4. // 如果想取倒数的就只需要负数就可以了
  5. printf('<pre>%s</pre>',print_r($res,true));

array_splice()
删除元素,但是可以利用这个功能实现增加
返回值就是被删除的元素组成的数组

  1. $arr = [10, 20, 30, 55, 66, 77, 40, 66];
  2. printf('<pre>%s</pre>',print_r($arr,true));
  3. // 删除
  4. $res = array_splice($arr,3, 2);
  5. printf('<pre>%s</pre>',print_r($res,true));
  6. // 增加
  7. $res = array_splice($arr,3, 2, [147,369]);
  8. printf('<pre>%s</pre>',print_r($res,true));
  9. printf('<pre>%s</pre>',print_r($arr,true));
批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:php中的数组功能非常强大, 每多知道一个数组, 就相当于多了一种杀敌的武器
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

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

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学