php基础之数组

1,索引数组和关联数组的定义及其调用方式
2,索引数组
3,混合数组(索引数组和关联数组)
4,多维数组
5,遍历数组
6,数组的删除

1,索引数组和关联数组的定义及其调用方式

每个数组有“键”和“值”组成,而“键”和“值”存在一种对应关系,称为映射;
在php中,根据“键”的数据类型,将数组划分为索引数组和关联数组;代码如下

<?php
	//date_default_timezone_set('Asia/Shanghai');
	// echo date('Y-m-d');//打印时间必须设置地区
	
	$arr=[1,2,3];
	$arr_assoc=['demo1'=>1,'demo2'=>2,'demo3'=>3];
	print_r($arr);					//Array ( [0] => 1 [1] => 2 [2] => 3 )
	print_r($arr_assoc);			//Array ( [demo1] => 1 [demo2] => 2 [demo3] => 3 )

	print_r($arr[0]);				//1;索引数组
	echo '<br>';
	print_r($arr_assoc['demo1']);	//1;关联数组
?>

2,索引数组

注意事项:键只能是整型或字符串型。如果是其他类型,则会自动转换

	$arr_assoc=["02"=>1];
	$arr_assoc2=["1.2"=>1];
	var_dump($arr_assoc);//array(1) { ["02"]=> int(1) }
	var_dump($arr_assoc2);//array(1) { ["1.2"]=> int(1) } 
	$arr_assoc=["2"=>1];
	var_dump($arr_assoc);//array(1) { [2]=> int(1) }

合法类型的字符串会转换成整型;"2"会装换成 2 ,而 “02” 则不会转换

	$arr_assoc=[1.2=>1];
	var_dump($arr_assoc);	// array(1) { [1]=> int(1) }

浮点类型转换成整型

	$arr_assoc=[true=>1,false=>2];
	var_dump($arr_assoc);	//array(2) { [1]=> int(1) [0]=> int(2) }

布尔类型 true转换成1,false转换成0

	$arr_assoc=[null=>2];
	var_dump($arr_assoc);//array(1) { [""]=> int(2) }

NULL类型转换成空字符串

	$arr_assoc=['demo'=>1,'demo'=>2];
	var_dump($arr_assoc);	//array(1) { ["demo"]=> int(2) }

若存在相同键名,后面的替换前面的

3,混合数组(索引数组和关联数组)

	$arr_assoc=[1,'demo'=>"2",3,'demo2'=>"4"];
	var_dump($arr_assoc);//array(4) { [0]=> int(1) ["demo"]=> string(1) "2" [1]=> int(3) ["demo2"]=> string(1) "4" }
	var_dump($arr_assoc[0]);//int(1)
	var_dump($arr_assoc[1]);//int(3)
	var_dump($arr_assoc["demo"]);//string(1) "2"
	var_dump($arr_assoc["demo2"]);//string(1) "4"

不过有一点需要注意,代码如下:

	$arr_assoc=[1,5=>"2",3,'demo2'=>"4"];
	print_r($arr_assoc);//Array ( [0] => 1 [5] => 2 [6] => 3 [demo2] => 4 )
	var_dump($arr_assoc[2]);//出错
	var_dump($arr_assoc[5]);//) string(1) "2" 
	var_dump($arr_assoc['demo2']);//) string(1) "4" 

4,多维数组

	$arr=array(
	    0 => array('demo1' => 1),
	    1 => array('demo2' => 2)
	);
	print_r($arr[0]);	//Array ( [demo1] => 1 )
	echo '<br>';
	print_r($arr[0]['demo1']);	//1

5,遍历数组

$arr=['demo1' => 1 ,'demo2' => 2 ,'demo3' => 3];
foreach($arr as $value){
    echo $value;        //123
}
foreach($arr as $key => $value){
    echo $key.'='.$value;   //demo1=1demo2=2demo3=3
}

6,数组的删除

	$arr=['demo1' => 1 ,'demo2' => 2 ,'demo3' => 3];
	print_r($arr);//Array ( [demo1] => 1 [demo2] => 2 [demo3] => 3 )
	unset($arr['demo1']);
	print_r($arr);//Array ( [demo2] => 2 [demo3] => 3 )

待续、、、、

posted @ 2022-04-02 09:48  coderwcb  阅读(44)  评论(0编辑  收藏  举报