PHP数组的基本运用
- 定义数组
- 遍历数组
- 预定义数组
- 数组里的函数
- count():返回数组中元素的个数。
- array_merge():将一个或多个数组合并为一个数组。
- array_push():将一个或多个元素添加到数组末尾。
- array_pop():删除并返回数组的最后一个元素。
- array_shift():删除并返回数组的第一个元素。
- array_unshift():在数组开头插入一个或多个元素。
- in_array():检查数组中是否存在某个值。
- array_key_exists():检查数组中是否存在指定的键名。
- array_search():在数组中搜索给定值,并返回对应的键名。
- array_slice():从数组中返回选定的元素。
- array_splice():从数组中移除选定的元素并用新元素替换它们。
- array_reverse():将数组中的元素顺序颠倒。
- array_unique():移除数组中的重复元素。
- sort():对数组进行升序排序。
- rsort():对数组进行降序排序。
- asort():根据关联数组的值进行升序排序,保持键值关系。
- ksort():根据关联数组的键进行升序排序,保持键值关系。
- array_values():返回数组中所有的值,重新索引数组。
- array_keys():返回数组中所有的键名。
- ***array_map():将回调函数作用到给定数组的每个元素上,并返回处理后的数组。
定义数组
什么是PHP中的数组
PHP中的数组是一种用于存储多个值的数据结构。它可以包含不同类型的值,如整数、字符串、对象等,并使用一个唯一的键来访问每个值。
怎么定义数组
array()来定义数组
赋值定义
短数定义:([])
数组的类型
在PHP中数组有两种主要类型:索引数组和关联数组
索引数组:
索引数组:
索引数组使用数字作为键,从0开始递增。可以通过索引来访问数组中的元素。
$name[0]='吴嘉庆';
$name[1]='老毕灯';
$name[2]='反骨仔';
var_dump($name);
运行结果
关联数组:
$age = array("name"=>"吴嘉庆","jiji"=>"老毕灯","major"=>"反骨仔");
echo $age["name"];
echo $age["jiji"];
echo $age["major"];
运行结果
怎么区分两者
最简单的就是看下标是否从0开始,从0开始就是索引数组,反之就是关联数组。
遍历数组
可以用来遍历数组的方法有:
foreach 循环;for 循环;while 循环;等等
今天就来介绍一下最常用的foeach循环
$info = ['id'=>1,'name'=>'懒羊羊','age'=>18];
foreach($info as $k=>$v){
echo $k.':'.$v.'';
};
运行结果
当然foreach还可以嵌套循环,来遍历多维数组。
for循环
<?php
$a=0;
$b=1;
echo $a.'<br>';
echo $b.'<br>';
for($i=1;$i<=15;$i++){
$c=$a+$b;
$a=$b;
$b=$c;
echo $c.'<br>';
}
?>
运行结果
这是著名的斐波那契问题,由于技术不到家使用for循环来解决。最简单的解决办法是递归。
预定义数组
$‘_GET` 是一个关联数组,包含通过 GET 方法传递给当前脚本的参数和值。它的键是参数的名称,值是参数的值。
$_POST 被广泛应用于收集表单数据,在HTML form 标签的指定该属性:method = “post”
$_REQUEST用于收集HTML表单提交的数据。
$_COOKIE 是一个关联数组,包含 通过 HTTP cookie 传递给当前脚本的内容。
$_SESSION 是一个关联数组,包含当前脚本中的所有 session 内容。
$_FILES 是一个关联数组,包含通过 HTTP POST 方法上传给当前脚本的文件内容。
$GLOBALS 是一个关联数组, 包含对当前脚本全局 范围内定义的所有变量。
数组里的函数
count():返回数组中元素的个数。
$a = array("fas", "sfsaf", "fdga");
$b = count($a);
echo $b;
array_merge():将一个或多个数组合并为一个数组。
$a = array("fas", "sfsaf", "fdga");
$b=array('4','5','6');
$c = array_merge($a, $b);
print_r($c);
array_push():将一个或多个元素添加到数组末尾。
$a = array("fas", "sfsaf", "fdga");
array_push($a,'4','5');
print_r($a);
array_pop():删除并返回数组的最后一个元素。
$a = array("apple", "banana", "orange");
$b = array_pop($a);
echo $b;
array_shift():删除并返回数组的第一个元素。
$a = array("apple", "banana", "orange");
$b = array_shift($f);
echo $b;
array_unshift():在数组开头插入一个或多个元素。
$a = array("apple", "banana", "orange");
array_unshift($a, "1", "2");
print_r($a);
in_array():检查数组中是否存在某个值。
$a = array("apple", "banana", "orange");
if (in_array("banana",$a)){
echo "存在";
}else{echo "不存在";
}
array_key_exists():检查数组中是否存在指定的键名。
$a = array("apple"=>1, "banana"=>2, "orange"=>3);
if (array_key_exists("banana",$a)){
echo "存在";
}else{echo "不存在";
}
array_search():在数组中搜索给定值,并返回对应的键名。
$a = array("apple", "banana", "orange");
$b = array_search("banana", $a);;
echo $b;
array_slice():从数组中返回选定的元素。
$a = array("apple", "banana", "orange", "grape", "kiwi");
$b = array_slice($a, 1, 3);
print_r($b);
array_splice():从数组中移除选定的元素并用新元素替换它们。
$a = array("apple", "banana", "orange", "grape", "kiwi");
array_splice($a, 2, 1, "kiwi");
print_r($a);
array_reverse():将数组中的元素顺序颠倒。
$a = array("apple", "banana", "orange");
$b =array_reverse($a);
echo implode(", ", $b);
array_unique():移除数组中的重复元素。
$a = array("apple", "banana", "orange","apple", "banana", "orange");
$b =array_unique($a);
echo implode(", ", $b);
sort():对数组进行升序排序。
$a = array("5", "10", "8");
sort($a);
echo implode(", ", $a);
rsort():对数组进行降序排序。
$a = array("5", "10", "8");
rsort($a);
echo implode(", ", $a);
asort():根据关联数组的值进行升序排序,保持键值关系。
$info = array('id'=>1,'name'=>2,'age'=>3);
asort($info);
echo implode(", ", $info);
ksort():根据关联数组的键进行升序排序,保持键值关系。
$info = array('id'=>1,'name'=>2,'age'=>3);
ksort($info);
echo implode(", ", $info);
array_values():返回数组中所有的值,重新索引数组。
$a = array("apple", "banana", "orange");
$b = array_values($a);
echo implode(", ", $b);
array_keys():返回数组中所有的键名。
$a = array("apple", "banana", "orange");
$b = array_keys($a);
echo implode(", ", $b);
***array_map():将回调函数作用到给定数组的每个元素上,并返回处理后的数组。
$numbers = array(1, 2, 3, 4, 5);
$squaredNumbers = array_map(function($num) {
return $num * $num;
}, $numbers);
echo implode(", ", $squaredNumbers); // 输出:1, 4, 9, 16, 25