Blogger Information
Blog 8
fans 0
comment 0
visits 5779
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
数组的基础知识
无声胜有声丶
Original
588 people have browsed it

数组的种类与定义

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));
Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:php中的数组功能非常强大, 每多知道一个数组, 就相当于多了一种杀敌的武器
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post