php中数组的类型:索引数组和关联数组。
索引数组:
定义:索引数组是指数组的键是整数的数组,并且键的整数顺序是从0开始的。
打印输出数组键值对的函数为:print_r( )
其函数原型为:bool print_r ( mixed$expression
[, bool $return
] )
函数的基本用法:因为该函数的第一个参数是mixed类型的,表示可以接收多种不同类型的参数,当传入的参数是string、integer、或float类型时,将直接打印出本变量的值,如果传入的是一个数组,将会按照一定的格式打印出键和对应的元素,第二个参数表示是否捕捉该函数的输出,默认为false,不接收这个返回值,如果第二个参 数设置为true,则该函数的将不会在控制台上打印任何内容,而是将它的输出内容作为函数的返回值返回,如果给出的第一个参数的包含了直接或间接指向自身的引用, 该函数将永远执行下去。
举例:
代码:
<?php
//非数组
$a = 2;
print_r($a);//直接输出a的值
$b = print_r($a,true);//将a的值作为函数的返回值返回给b,不在控制台上输出
echo "<br />";
echo $b;
echo "<br />";
//数组
$fruit = array("苹果","香蕉","菠萝");
print_r($fruit);//以键值对的方式输出在控制台上
$fruit_copy = print_r($fruit,true);//将fruit的值作为函数的返回值返回给fruit_copy,不在控制台上输出
echo "<br />";
echo $fruit_copy;
?>
输出:
2
2
Array ( [0] => 苹果 [1] => 香蕉 [2] => 菠萝 )
Array ( [0] => 苹果 [1] => 香蕉 [2] => 菠萝 )
索引数组的赋值:
1.$arr[键] = 值;
2.array('键'=>'值') ;
3.array('第一个值','第二个值','第三个值'.....);
举例:
代码:
<?php
/*
* 索引数组三种赋值方式的测试
*/
$arr1 = array("1","2","3"); //第一种方式
print_r($arr1);
echo "<br />";
$arr2 = array(); //第二种方式
for($i = 0;$i < 3;$i++){
$arr2[$i] = $i + 4;
}
print_r($arr2);
echo "<br />";
$arr3 = array(0 => 7,1 => 8,2 => 9);//第三种方式
print_r($arr3);
echo "<br />";
?>
输出:
Array ( [0] => 1 [1] => 2 [2] => 3 )
Array ( [0] => 4 [1] => 5 [2] => 6 )
Array ( [0] => 7 [1] => 8 [2] => 9 )
关联数组:
定义:关联数组是指数组的键是字符串的数组;
关联数组的赋值:
1..$arr[键] = 值;
2.array('键'=>'值') ;
举例:
代码:
<?php
//关联数组两种赋值方式的测试
$arr1 = array('first' => "one","second" => "two","third" => 'three');//第一种方式
print_r($arr1);
echo "<br />";
$arr2 = array();//第二种方式
$arr2['fourth'] = "four";
$arr2['fifth'] = 'five';
$arr2["sixth"] = "six";
print_r($arr2);
echo "<br />";
?>
输出:
Array ( [first] => one [second] => two [third] => three )
Array ( [fourth] => four [fifth] => five [sixth] => six )
使用foreach访问遍历数组的方式见我的上一篇博客《php基础语法》,在此不再赘述。