数组定义:
定义方法:
$arr = array(元素1,元素2,元素3……);
输出数组: print_r()函数
关联数组:定义方法:
$arr1 = array('uclass'=>'DIV+CSS','age'=>'44','birth'=>'1994-2-30');
类似于python中的字典。
数组中可以包含数组:
$arr2 = array(array('uname'=>'小明','age'=>'15'),'two'=>array('uname'=>'小红','age'=>'14'),33);
echo '<pre>';
print_r($arr2);
输出结果:
Array
(
[0] => Array
(
[uname] => 小明
[age] => 15
)
[two] => Array
(
[uname] => 小红
[age] => 14
)
[1] => 33
)
也可以直接定义数组元素:
$arr3[0] = 'abc';
$arr3[1] = 'cde';
$arr3[5] = 'opq';
print_r($arr3);
输出结果:
Array
(
[0] => abc
[1] => cde
[5] => opq
)
如果不指定位置而给未定义的数组元素赋值,那么将依次对数组的元素进行赋值。
$arr4[] = 'PHP';
$arr4[] = 'HTML5';
$arr4[] = 'MySQL';
print_r($arr4);
输出结果:
Array
(
[0] => PHP
[1] => HTML5
[2] => MySQL
)
当然也可以定义多维数组:
$arr5['PHP'][] = 'PHP基础';
$arr5['PHP'][] = '字符串处理';
$arr5['PHP'][] = '图像处理';
$arr5['PHP'][] = '数据库操作';
$arr5['PHP'][] = '模板引擎';
$arr5['PHP'][] = '案例';
$arr5['DIV+CSS'][] = 'HTML基础';
$arr5['DIV+CSS'][] = 'CSS布局';
$arr5['DIV+CSS'][] = 'hack';
$arr5['DIV+CSS'][] = '整站标准布局实战';
print_r($arr5);
结果:
Array
(
[PHP] => Array
(
[0] => PHP基础
[1] => 字符串处理
[2] => 图像处理
[3] => 数据库操作
[4] => 模板引擎
[5] => 案例
)
[DIV+CSS] => Array
(
[0] => HTML基础
[1] => CSS布局
[2] => hack
[3] => 整站标准布局实战
)
)
数组的遍历:
foreach($arr5['PHP'] as $value){
echo "<span style='color:#f00;'>".$value."</span><br/>";
}
结果:
PHP基础
字符串处理
图像处理
数据库操作
模板引擎
案例
对于关联数组,就需要对 foreach进行一下修改:
$arr_1 = array('uclass'=>'DIV+CSS','age'=>'44','birth'=>'1994-2-30');
foreach($arr_1 as $key=>$value){
echo $key.":".$value."<br/>";
}
结果:
uclass:DIV+CSS
age:44
birth:1994-2-30
如果是多维数组,则需要用到 is_array()函数,进一步修改:
foreach($arr5 as $key => $value){
if(is_array($value)){
echo $key."<br/>";
foreach($value as $sub_key => $sub_value){
echo " ".$sub_key.":".$sub_value."<br/>";
}
}else{
echo $key.":".$value;
}
}
输出结果:
PHP
0:PHP基础
1:字符串处理
2:图像处理
3:数据库操作
4:模板引擎
5:案例
DIV+CSS
0:HTML基础
1:CSS布局
2:hack
3:整站标准布局实战
当然也可以通过递归函数来实现:
function print_array_value($arr){
foreach($arr as $key => $value){
if(is_array($value)){
echo $key.":<br/>";
print_array_value($value);
}else{
echo " ";
echo $key.":".$value."<br/>";
}
}
return;
}
print_array_value($arr5);
效果是完全一样的。当然还可以尝试更多的例如为下一级添加特殊样式等。
以上均为个人理解,初学php,如果有不对的地方,欢迎大家指正!