批改状态:合格
老师批语:完成的不错。
定义数组,关联数组,索引数组,二维数组,循环数组,循环二维数组,循环三维数组
<?php
// 数组知识
// 定义空数组
// 通过关键字定义
$arr = array();
// 通过中括号定义
$arr = [];
// 一维数组,也是索引数组(所有下标都是从0开始的整数)
$arr = [1,2.3,4];
echo '<pre>';
var_dump($arr);
echo '<hr>';
/*
array(3) {
[0]=>
int(1)
[1]=>
float(2.3)
[2]=>
int(4)
}*/
// 关联数组 (所有下标都是自定义的 字符串 通过’=>‘箭头符号来指向 值 组成的)
$arr = ['a'=>1,'b'=>2,'c'=>'3'];
echo '<pre>';
var_dump($arr);
echo '<hr>';
/**
* array(3) {
["a"]=>
int(1)
["b"]=>
int(2)
["c"]=>
string(1) "3"
}
*
*/
// 循环遍历一维数组
foreach($arr as $k => $v){
echo($k.'---'.$v.'<br>');
}
/**
a---1
b---2
c---3
*/
echo '<hr>';
// 二维数组--可以是由索引数组和关联数组混合组成的
$arr = [
'a'=>['aa'=>11,'bb'=>22,'cc'=>33],
'b'=>[111,222,333],
[44,55,66,'qq'=>77,'ww'=>88]
];
echo '<pre>';
var_dump($arr);
echo '<hr>';
/*
array(3) {
["a"]=>
array(3) {
["aa"]=>
int(11)
["bb"]=>
int(22)
["cc"]=>
int(33)
}
["b"]=>
array(3) {
[0]=>
int(111)
[1]=>
int(222)
[2]=>
int(333)
}
[0]=>
array(5) {
[0]=>
int(44)
[1]=>
int(55)
[2]=>
int(66)
["qq"]=>
int(77)
["ww"]=>
int(88)
}
}
*/
// 三维数组---就是在二维数组的基础上多嵌套了一层
$arr = [
'a'=>[
'aa'=>['a1','a2','a3'],
'bb'=>['b1','b2','b3'],
'cc'=>33],
'b'=>[111,222,333],
[44,55,66,'qq'=>77,'ww'=>88]
];
echo '<pre>';
var_dump($arr);
echo '<hr>';
/*
array(3) {
["a"]=>
array(3) {
["aa"]=>
array(3) {
[0]=>
string(2) "a1"
[1]=>
string(2) "a2"
[2]=>
string(2) "a3"
}
["bb"]=>
array(3) {
[0]=>
string(2) "b1"
[1]=>
string(2) "b2"
[2]=>
string(2) "b3"
}
["cc"]=>
int(33)
}
["b"]=>
array(3) {
[0]=>
int(111)
[1]=>
int(222)
[2]=>
int(333)
}
[0]=>
array(5) {
[0]=>
int(44)
[1]=>
int(55)
[2]=>
int(66)
["qq"]=>
int(77)
["ww"]=>
int(88)
}
}
*/
//foreach 循环遍历三维数组数组
foreach($arr as $key => $value){
echo($key.'-');
foreach($value as $key2 => $value2){
echo($key2.'--');
// var_dump($value2);
if(is_array($value2)){
foreach($value2 as $key3 => $value3){
echo($key3.'----'.$value3.'----');
}
}
}
}
// a-aa--0----a1----1----a2----2----a3----bb--0----b1----1----b2----2----b3----cc--b-0--1--2--0-0--1--2--qq--ww--
// $a = array(
// "one" => array(1,2,3,4),
// "two" => array(5,6,7,8),
// "three" => array('a','b','c','d')
// );
// foreach ($a as $k => $v) {
// echo $k . '<br>';
// print_r($v);
// echo '<br>';
// foreach ($a[$k] as $index => $value) {
// echo $k . '<br>';
// echo $index . '<br>';
// echo $value . '<br>';
// }
// }点击 "运行实例" 按钮查看在线实例
总结:以上代码总结了php数组的定义方式:
1.索引数组--所有下标都是从0开始的正整数。
2.关联数组--所有下标都是自定义的字符串。
1.二维数组--即在一维数组中通过增加一个一维数组定义而成的。+N就是N维数组(多为数组).
foreach(数组 as 键 =>值){循环体}的结构来循环遍历数组(取出被遍历数组中的每一个值。)键和值任选其一都可以。
数组都是键值对(键=>值)的结构,没有认为设置下标就是默认索引数组。人为设置字符串型下标,就是关联数组。在数组中。关联和索引可以同时存在;
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号