Blogger Information
Blog 59
fans 6
comment 0
visits 52200
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
举例10个函数进行编程-php-18课7.13
希望
Original
732 people have browsed it

一、键和值


1. array_keys:拿键

  1. $arr = ['id' => 1, 'name' => 'admin', 'email' => '123@qq.com'];
  2. print_r(array_keys($arr));

2. array_values:拿值

  1. $arr = [0 => 1, 5 => 8, 2 => 'php', 'id' => 'html', 12 => 15, 15];
  2. print_r(array_values($arr));

3. array_key_exists:判断键在不在数组中?

  1. echo array_key_exists('email', $arr) ? '存在' : '不存在';

4. in_array:查询某个值在不在数组中?

  1. echo in_array('php1', $arr) ? '有' : '没有';

5. array_key_first/last:拿第一个键,最后一个键

  1. echo array_key_first($arr);
  2. echo array_key_last($arr);

6. array_search:根据值找键,如果这个值不存在,返回布尔false

  1. var_dump(array_search('php', $arr));

7. array_unique:把重复的值删除,有两个15重复的

  1. print_r(array_unique($arr));

8. array_sum:求和

  1. $arr = [5, 8, 10];
  2. echo array_sum($arr);
  3. // 把字符串也转成数值了
  4. echo "<hr>";
  5. $arr = [5, 8, 10, '555'];
  6. echo array_sum($arr);
  7. // 字符串开头是字母,就忽略了
  8. echo "<hr>";
  9. $arr = [5, 8, 10, 'p555'];
  10. echo array_sum($arr);

二、栈和队


1. array_pop:最后的先出来,在栈尾部增删

  1. $stack = [];
  2. echo array_push($stack, 10, 20, 50);
  3. print_r($stack);
  4. echo array_pop($stack);
  5. echo array_pop($stack);
  6. echo array_pop($stack);
  7. var_dump(array_pop($stack));

2. array_shift:在栈头部增删

  1. echo array_unshift($stack, 10, 20, 50);
  2. print_r($stack);
  3. echo array_shift($stack);
  4. echo array_shift($stack);
  5. echo array_shift($stack);

3. array_push:尾部进队; array_shift:头部出队

  1. $queue = [];
  2. array_push($queue, 10, 40, 60);
  3. print_r($queue);
  4. echo array_shift($queue);
  5. echo array_shift($queue);
  6. echo array_shift($queue);

4. array_unshift:头部进队; array_pop:尾部出队

  1. array_unshift($queue, 1, 3, 5);
  2. print_r($queue);
  3. echo array_pop($queue);
  4. echo array_pop($queue);
  5. echo array_pop($queue);

三、键与值排序


1. asort:值排序,但是键不动,值先从字母顺序开始; sort:默认按值升序,键重组

键与值排序

  1. $arr = [10, 12, 15, 20, 'b', 't', 55, 66];
  2. asort($arr);
  3. print_r($arr);
  1. $arr = [10, 12, 15, 20, 'b', 't', 55, 66];
  2. sort($arr);
  3. print_r($arr);

2. ksort:按键排序,字母顺序,升序排; krsort:键降序

键升序降序排列

  1. $arr = ['d' => 50, 'b' => 12, 'p' => 15];
  2. ksort($arr);
  3. print_r($arr);
  1. $arr = ['d' => 50, 'b' => 12, 'p' => 15];
  2. krsort($arr);
  3. print_r($arr);

3. natsort:图片名字从小到大排升序

自然排升序

  1. $arr = ['img1.jpg', 'img9.jpg', 'img2.jpg', 'img5.jpg'];
  2. print_r($arr);
  3. natsort($arr);
  4. print_r($arr);

四、array_slice:从数组中取出一部分元素


1. 取前2个,从负3开始取

  1. $stu = ['id' => 2, 'name' => '小芳', 'age' => 25, 'course' => 'php', 'grade' => 90];
  2. $res = array_slice($stu, 0);
  3. // 只取前2个
  4. $res = array_slice($stu, 0, 2);
  5. $res = array_slice($stu, 1, 3);
  6. // 从负3开始取
  7. $res = array_slice($stu, -3);

2. array_splice:新增两个

  1. $arr = [2, 5, 10, 42, 12, 75, 60];
  2. $res = array_splice($arr, 2, 0, [777, 666]);
  3. print_r($res);
  4. print_r($arr);

五、array_combine:数组合并


数组合并

  1. $keys = ['type', 'host', 'dbname', 'username', 'password'];
  2. $values = ['mysql', 'localhost', 'phpedu', 'root', 'root'];
  3. print_r(array_combine($keys, $values));

六、回调

回调

1. array_filter():过滤,简单写法,过滤空值,只返回标量

  1. $arr = [10, 'php', true, [4, 5, 6], (new class{}), [], null, false, '', 0, '0'];
  2. $res = array_filter($arr, function ($item) {
  3. return is_scalar($item);
  4. });
  5. print_r($res);

2. array_map():不会区分真假,全部返回新数组

  1. $arr = ['php', [1, 2, 3], (new class{public $name = '手机'; public $price = 8999;}), 10, 30];
  2. $res = array_map(function ($item) {
  3. // 判断当前元素是对象还是数组?gettype
  4. // object是对象,如果是对象,就获取属性
  5. // array是数组,如果是数组,就进行拼接,转为字符串,输出
  6. switch (gettype($item)) {
  7. case 'object':
  8. $item = get_object_vars($item);
  9. $item = implode(', ', $item);
  10. break;
  11. case 'array':
  12. $item = implode(', ', $item);
  13. }
  14. return $item;
  15. }, $arr);
  16. print_r($res);

3. compact():将一组变量组装成关联数组

  1. $id = 1;
  2. $username = 'admin';
  3. $gender = '女';
  4. print_r(compact('id', 'username', 'gender'));
Correcting teacher:GuanhuiGuanhui

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