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 )
待续、、、、