Blogger Information
Blog 8
fans 0
comment 1
visits 5008
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP数组使用
BARRY
Original
660 people have browsed it

数组的种类与定义,访问方式

  • 数组分为———数字索引数组 ,关联数组 ,多维数组。
  • 数字索引数组 ,索引数组存储一系列经过组织的单个或多个值,其中的每个值都可以通过使用一个无符号整数值进行访问。
  • 关联数组,是一种具有特殊索引方式的数组。不仅可以通过整数来索引它,还可以使用字符串或者其他类型的值(除了NULL)来索引它。
  • 多维数组,数据结构中的概念, 二维数组以上的数组,既非线性也非平面的数组成为多维数组。

    代码

    ```php
    $arr = array(“php”,”mysql”,”java”); //或者 $arr = [“php”,”mysql”,”java”]; 效果是一样的

print_r($arr);
echo ‘<hr>‘;

//2.array(1 => “XXX”, 2 => “XXX”)函数声明数组,指定数组的下标
$arr2 = array(“name” => “小明”,”age” => “25”,”sex” => “男”);

print_r($arr2);
echo ‘<hr>‘;

//二维数组
$arr3 = array(
“php”=>array(“php”,”thinkphp”),
“js”=>array(“M”=>”js”,”N”=>”jQuery”,”vue”,”react”),
“html”=>array(10=>”html”,”html5”)
);

print_r($arr3);
echo ‘<hr>‘;
//访问arr3数组中的js 下面的vue元素
echo $arr3[“js”][0];

  1. 运行结果:![](https://img.php.cn/upload/image/328/495/160/1603199873594172.png)
  2. ------------
  3. ####数字的遍历
  4. ```php
  5. //数组的遍历------------------------------------------------------------------
  6. //1.while 循环遍历
  7. $arr = array("php","mysql","java");
  8. while(true){
  9. printf('[%s] =>%s <br>',key($arr),current($arr));
  10. if(next($arr)) continue;
  11. else break;
  12. }
  13. echo '<hr>';
  14. //2.for 循环遍历
  15. $student = ['name'=>'king','age'=> '28','salary'=>'8000'];
  16. for($i = 0;$i < count($student);$i++){
  17. printf('[%s] =>%s <br>',key($student),current($student));
  18. next($student);
  19. }
  20. echo '<hr>';
  21. //3.foreach 循环
  22. foreach($student as $k => $v){
  23. echo $v.'<br>';
  24. }
  25. echo '<hr>';
  26. //数组的解构
  27. $goods = [
  28. ['name' => 'iphone12','brand' => '苹果','price' => '¥6800'],
  29. ['name' => 'MacBookPro','brand' => '苹果','price' => '¥12888'],
  30. ['name' =>'iPad','brand' => '苹果','price' => '¥4850'],
  31. ];
  32. foreach($goods as list('brand' => $brand,'name' => $name, 'price' => $price)){
  33. printf('brand=%s,name=%s,price=%s<br>',$brand,$name,$price);
  34. }

运行结果:

数组函数

  1. $user = ['id' => 1,'name' => '小胖','name' => '小胖','grade' => '1年级','score' =>95];
  2. // 1. array_values 获取数组的值
  3. print_r(array_values($user)); echo '<hr>';
  4. // 2. array_keys 获取数组的键
  5. print_r(array_keys($user)); echo '<hr>';
  6. //3.array_key_exists() 检索给定的键名是否存在数组中,它的返回值是布尔值。
  7. echo array_key_exists('grade',$user) ? $user['grade'] : '不存在'; echo '<hr>';
  8. //4.in_array("key",$arr);在数组中检索key是否存在,返回布尔值。
  9. var_dump(in_array('id',$user)); echo '<hr>';
  10. //5,array_search("value",$arr); 在数组中检索value ,如果存在返回键名
  11. echo array_search('小胖',$user); echo '<hr>';
  12. //6.array_unique($arr); 去重。
  13. print_r($user); echo '<hr>';
  14. //7.array_sun($arr); 求和。
  15. $numbers = [2,4,6,3,8];
  16. var_dump(array_sum($numbers)); echo '<hr>';
  17. //8.array_push(),入栈,将一个或多个元素压入数组栈的末尾
  18. $phone = ['xiaomi','huawei'];
  19. array_push($phone,'iphone');
  20. print_r($phone) ; echo '<br>';
  21. //9.array_pop() ,出栈,将数组栈的最后一个元素弹出
  22. array_pop($phone);
  23. print_r($phone); echo '<hr>';
  24. //array_shift 函数删除数组中第一个元素,并返回被删除元素的值。
  25. //array_unshift 函数用于向数组插入新元素。新数组的值将被插入到数组的开头。
  26. //10. array_column获取二维数组某一列的集合
  27. $class = [
  28. ['name'=>'zhangsan','chinese'=>'89','math'=>'95','english'=>'88'],
  29. ['name'=>'lisi','chinese'=>'91','math'=>'86','english'=>'90'],
  30. ['name'=>'laowang','chinese'=>'99','math'=>'76','english'=>'33'],
  31. ];
  32. $names = array_column($class,'name');
  33. print_r($names); echo '<hr>';
  34. //11. array_change_key_case($arr,CASE_UPPER) 改变数组键的大小写
  35. $ev=["a"=>"Lamp","db"=>"mysql","language"=>"PHP"];
  36. print_r(array_change_key_case($ev,CASE_UPPER)); //大写
  37. echo "<br/>";
  38. print_r(array_change_key_case($ev,CASE_LOWER)); //小写
  39. echo "<hr>";
  40. //12. array array_diff_assoc ($array1 ,$array2 [, array $ ... ] ) 返回一个数组,
  41. //该数组包括了所有在 array1 中但是不在任何其它参数数组中的值键不同也算
  42. $color1=['a'=>'green','b'=>'brown','c'=>'red'];
  43. $color2=['a'=>'green','yellow','red'];
  44. print_r(array_diff_assoc($color1,$color2));

运行结果:

Correcting teacher:天蓬老师天蓬老师

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