PHP 数组
1、数组的定义
2、数组分类
3、数据里面的一些规则
4、数组赋值、取值
5、数组循环
6、二维数组(重点)
(1、)数组的定义
两种方式:
$arr1=array();
$arr2_1=array('name'=>'curtis','age'=>25,'sex'=>'男');
$arr2_2=array('php','jsp','asp');
第一种方式:定义一个数组对象,将对象赋值给$arr1;
第一种方式赋值方式:
$arr1['name']='杨辉';
$arr1['age']=25;
$arr1['sex']='男';
第二种方式:通过对数组构造函数的调用实现,数组的定义及赋值,然后在赋值给一个实例$arr2_1或者$arr2_2;
(2、)数组的分类
索引数组
关联数组
什么叫索引数组?
$arr2_2=array('php','jsp','asp');
上面这个例子就是索引数组,未咩?因为键么有指明;下标是从0开始递增的;
什么叫关联数组?
$arr2_1=array('name'=>'curtis','age'=>25,'sex'=>'男');
定义数组的时候就指明了数组中的键值对,键不是数字,能愉快起到,描述数组里面的值所代表的含义;
(3、)数据里面的一些规则
3.1、关联数组的键值对表示方式
3.2、关联数组键值对的分隔符号特别需要注意
3.3、数组定义完成之后一定要加分号表示结束
3.4、数组的关键字(array)
3.5、关联数组键需要加引号,值根据值的数据类型判断是否要添加引号
(4、)数组赋值、取值
数组的赋值:
4.1、需要考虑是索引数组还是关联数组;
4.2、需要考虑数组定义的时刻是否调用数组的构造函数;
4.3、赋值是否需要指定所要赋的值,是否有要在数组中的具体位置;
赋值:
$arr1=array();
$arr1[0]='杨辉';
$arr1[1]=25;
$arr2=array();
$arr2['name']='杨辉';
$arr2['age']=25;
$arr3=array('name'=>'curtis','age'=>25,'sex'=>'男');
$arr3['adress']='湖北';
取值:
取单个值:$arr3=array('name'=>'curtis','age'=>25,'sex'=>'男');
echo $arr3['name'];
取多个值:$arr3=array('name'=>'curtis','age'=>25,'sex'=>'男');
print_r($arr3);
var_dump($arr3);
说明:通过这个函数能够愉快的知道数组的长度,数组里面各个值是什么类型,如果数组里面的值是字符串,还能愉快的知道字符串的长度;
(4、)数组的循环
for
while
foreach
索引数组
$arr=array('php','jsp','asp');
for($i=0;$i<count($arr);$i++){
echo $arr[$i].'<br />';
}
函数count();
可以愉快的统计数组长度;
$arr=array('php','jsp','asp');
echo count($arr);
关联数组
$_arrZ=array('姓名'=>'杨辉','性别'=>'男','年龄'=>25);
while(!!$key_value=each($_arrZ)){
echo $key_value['key'].'=>'.$key_value['value'];
echo '<br />';
}
函数each();
取数组里面的单个键值对
关联数组
$_arrZ=array('姓名'=>'杨辉','性别'=>'男','年龄'=>25);
方式一:
foreach($_arrZ as $key=>$value){
echo $key.'=>'.$value.'<br />';
}
方式二:
foreach($_arrZ as $value){
echo $value.'<br />';
}
(6、)二维数组
$arr1=array(
array('语文',110),
array('数学',118),
array('英语',115)
);
$arr2=array(
array('科目'=>'语文','分数'=>110),
array('科目'=>'数学','分数'=>118),
array('科目'=>'英语','分数'=>115)
);
for($i=0;$i<=2;$i++){
for($j=0;$j<=2;$j++){
echo @$arr1[$i][$j];
}
echo '<br />';
}
for($i=0;$i<count($arr2);$i++){
while (!!list($key,$value)=each($arr2[$i])){
echo $key.'=>'.$value.';';
}
echo '<br />';
}
函数list();
数据库里面查询出来的数据是二维数组
public function queryToArray($_sql)
{
$_result = mysql_query($_sql, $this->_conn);
$_arr = Array();
while (! ! $_row = mysql_fetch_assoc($_result)) {
$_arr[] = $_row;
}
mysql_free_result($_result);
return $_arr;
}
在获取数据库表里面的数据的时候,直接执行这个方法,返回值是一个数组;
拿到数组之后较简单的方式是通过foreach循环