PHP数组
数组是对大量数据进行有效组织和管理的手段之一,通过数组的强大功能,可以对大量性质相同的数据进行存储、排序、插入及删除等操作,从而可以有效地提高程序开发效率及改善程序的编写方式。
数组:是一组有序成员(键值对)的集合
- 索引数组
- 关联数组
// 索引数组:键是从0开始递增的正整数
$arr = [a,b,c,d];
// 除了中括号声明数组也可以用array
$arr1 = array(11,22,33,44);
echo "<pre>";
print_r($arr);
print_r($arr1);
// 索引数组访问
echo $arr[0],$arr[2];
// 更新数组
$arr[3] = 666;
echo "<hr>";
// -----------------------
// 关联数组:键是“语义化”字符串 如:id uname email
$user = ['id'=>1,"email"=>'2602138376@qq.com','uname'=>'zhang'];
echo "<pre>";
print_r($user);
echo user['uname']; // zhang
// 我们也可以直接赋值时创建
$info['name'] = 'zhang';
var_dump($info);
二维数组和多维数组
// 二维数组 数组中含有数组 [[],[],[]]
$arr = [
['username'=>'zhang','email'=>'1568@qq.com'],
['username'=>'admin','email'=>'admin@qq.com'],
['username'=>'shuai','email'=>'26021@qq.com']
];
echo "<pre>";
print_r($arr);
// 访问二维数组
echo $arr[1]['uname']; // admin
// 使用foreach遍历二维数组中每一项
foreach($arr as $k=>$v){
echo $v["uname"].$v["email"]."<br>";
}
// foreach 遍历对象
$obj = new class{
public $name = 'admin';
public $email = 'admin@php.com';
public $gender = true;
};
foreach($obj as $key=>$value){
printf("[%s => %s] <br>",$key,$value);
}
快速生成数组函数
range() :https://www.php.net/manual/zh/function.range.php
// range(开始值,结束值,步长)
// 快速生成1-10的数组
$arr1 = range(1,10);
print_r($arr1);
/* Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 [9] => 10 )*/
// step 参数 每次增加的步长
// 生成0 10 20 30 到10的数组
$arr2 = range(0, 100, 10);
print_r($arr2);
/*Array ( [0] => 0 [1] => 10 [2] => 20 [3] => 30 [4] => 40 [5] => 50 [6] => 60 [7] => 70 [8] => 80 [9] => 90 [10] => 100 )*/
// 也可以生成字母a到i
$arr3 = range('a', 'i');
print_r($arr3);
/* Array ( [0] => a [1] => b [2] => c [3] => d [4] => e [5] => f [6] => g [7] => h [8] => i )*/
echo implode("",range("6 ","Q")); //space after the 9
// prints 6789:;<=>?@ABCDEFGHIJKLMNOPQ
添加数组元素函数
array_unshift