Blogger Information
Blog 32
fans 2
comment 0
visits 27940
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
部分常用数组函数
简行
Original
665 people have browsed it

一.数组常用键值函数

1.数组常用键名函数

  1. <?php
  2. $array = ['id'=>6,"shopname"=>"长江7号","phone"=>15635673557];
  3. //数组常用键名函数
  4. //array_keys(数组):获取数组的所有键名,返回数组; 而key(数组)是按指定返回单个元素键名
  5. print_r(array_keys($array));
  6. echo "<br>";
  7. // array_key_exists:判断键名否存在数组中,返回true或false
  8. echo array_key_exists("shopname",$array)?"有":"没有";
  9. echo "<br>";
  10. // array_key_first:获取数组第一个键名,返回键名 PHP版本7.3后可使用
  11. echo array_key_first($array);
  12. echo "<br>";
  13. // array_key_first:获取数组最后一个键名,返回键名 PHP版本7.3后可使用
  14. echo array_key_last($array);
  15. echo "<hr>";

2.组常用值函数

  1. <?php
  2. //数组常用值函数
  3. $arr = ['id'=>6, 3 => '商店', "shopname"=>"长江7号", "phone"=>15635673557, 30,"商店"];
  4. //array_values(数组):获取数组的所有值,返回数组;
  5. print_r(array_values($arr));
  6. echo "<br>";
  7. // in_array:判断值否存在数组中,返回true或false
  8. echo in_array("商店",$arr)?"存在":"不存在";
  9. echo "<br>";
  10. // array_search:获取元素值对应的键名,找不到返回布尔false
  11. echo array_search("长江7号",$arr);
  12. echo "<br>";
  13. //array_unique:剔除相同值,返回新的数组(保留最先的相同值,提出后面相同值)
  14. print_r(array_unique($arr));
  15. echo "<hr>";

二.栈和队列(用数组函数演示)

1.栈: 是添加与删除受限的一种数据结构,数据的增删仅允许在一端进行, LIFO,最后进最先出

  1. <?php
  2. $stack_arr = [];
  3. // 1.在栈的尾部进行进栈与退栈(增删)
  4. // array_push(数组,元素1,元素2,....):向数组尾部添加一个或多个元素(进栈),然后返回新数组的长度。
  5. echo '数组长度:'.array_push($stack_arr,111,222,333),"----->";
  6. print_r($stack_arr);
  7. echo "<br>";
  8. // array_pop(数组):删除数组中的最后一个元素(退栈,取出元素),返回删除的元素值,当没有元素时,则返回null。
  9. echo '删除元素:'.array_pop($stack_arr);
  10. echo "<br>";
  11. // 2.在栈的头部进行增删
  12. // array_unshift(数组,元素1,元素2,....):向数组头部添加一个或多个元素,然后返回新数组的长度。
  13. echo '数组长度:'.array_unshift($stack_arr, 'one', 'two',"三"),"--->";
  14. print_r($stack_arr);
  15. echo "<br>";
  16. // array_shift:删除(取出)数组中的第一个元素,并返回被删除(取出)元素的值
  17. echo '删除元素:'.array_shift($stack_arr);
  18. echo "<hr>";

2.队列: 先进先出FIFO

  1. <?php
  2. $arr = [];
  3. // 尾部进队 + 头部出队, array_push + array+shift
  4. array_push($arr, "AAA","BBB",'CCC');
  5. print_r($arr);
  6. echo "<br>";
  7. // 头部出队,对照栈,栈尾部进,尾部出
  8. echo array_shift($arr);
  9. print_r($arr);
  10. echo "<br>";
  11. // 头部进队+尾部出队 + , array_unshift + array+pop
  12. array_unshift($arr, 'ddd', 'eee', 'fff');
  13. print_r($arr);
  14. echo "<br>";
  15. array_pop($arr);
  16. print_r($arr);
  17. echo "<hr>";

三.数组元素截取

array_slice(数组,起始位置,长度): 从数组中取出一部分元素

  1. <?php
  2. // array_slice(数组,起始位置,长度): 从数组中取出一部分元素
  3. $users =["id"=>'1021','name'=>"陈松江",'sex'=>'男',"money"=>666.66,"pwd"=>"888888"];
  4. //长度不填,默认全部
  5. print_r(array_slice($users, 0));
  6. echo "<br>";
  7. print_r(array_slice($users, 2,2));
  8. echo "<br>";
  9. print_r(array_slice($users, -4,3));
  10. echo "<hr>";

四.数组元素替换

// array_splice(数组,其实位置,长度):从数组中移除选定的元素,并用新元素取代它。函数也将返回被移除元素的数组(实现增删改)

  1. <?php
  2. $arr = [111, 222, 333, 666,999];
  3. // 删除
  4. // 返回被删除的元素组成的数组
  5. echo "删除前:";
  6. print_r($arr);
  7. echo "<br>";
  8. // 返回被删除的元素组成的数组
  9. print_r(array_splice($arr, 1, 2));
  10. echo "<br>";
  11. print_r($arr);
  12. echo "<hr>";
  13. // 替换
  14. echo "替换前:";
  15. print_r($arr);
  16. echo "<br>";
  17. // 返回被替换的元素组成的数组
  18. print_r(array_splice($arr,2,2,["AAA","BBB"]));
  19. echo "<br>";
  20. print_r($arr);
  21. echo "<hr>";
  22. // 新增
  23. echo "新增前:";
  24. print_r($arr);
  25. echo "<br>";
  26. // 返回空数组
  27. print_r(array_splice($arr, 2, 0, [444, 555]));
  28. echo "<br>";
  29. print_r($arr);
  30. echo "<hr>";

五.数组合并

  1. <?php
  2. $keys = ['id', 'name', 'unit', 'money', 'num'];
  3. $values = [66, '哈密瓜', '斤', 60, 4];
  4. // array_combine(键名组,值组):合并两个数组来创建一个新数组,其中的一个数组元素为键名,另一个数组的元素为键值,2组元素梳理要相同
  5. print_r(array_combine($keys, $values));
  6. echo "<hr>";
  7. // array_merge(array1,array2,array3...):把一个或多个数组合并为一个数组
  8. print_r(array_merge($keys,$values)) ;

六.其他函数

  • array_filter()函数用回调函数过滤数组中的元素。该函数把输入数组中的每个键值传给回调函数。如果回调函数返回 true,则把输入数组中的当前键值返回给结果数组。数组键名保持不变。

    1. <?php
    2. $arr = [111,'哈密瓜','0',0,'111',false,'null',null,'','AAA',[]];
    3. $res = array_filter($arr,function ($item) {
    4. return $item;
    5. });
    6. //与array_filter($arr)效果一致
    7. // [], null, false,'', 0, '0' : 转为false
    8. print_r($res);
    9. echo "<hr>";

  • extract(): 将关联数组拆分为变量

    1. <?php
    2. // extract(): 将关联数组拆分为变量
    3. $calss = ["id"=>1,'name'=>"王明",'sex'=>'男',"cla"=>"一班"];
    4. extract($calss);
    5. echo $id."////".$name."///".$sex."///".$cla;
    6. echo "<hr>";

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

  1. <?php
  2. // compact():将一组变量组装成关联数组
  3. $id=123;
  4. $title="标题";
  5. $status= 1;
  6. print_r(compact("id",'title','status'));

总结

上面例举只是数组函数中的一小部分,在实际开发中,要根据所需的结果去选择数组函数;这要我们多去了解其他数组函数的功能及参数,还有返回值及类型

Correcting teacher:GuanhuiGuanhui

Correction status:qualified

Teacher's comments:数组函数是数据处理的一大利器,所以一定要熟练运用。
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