数组
创建数组:
<?php
header("Content-type","text/html;charset=utf8");
第一种方式:
$userArray = array("aa","bb","cc");
echo $userArray[0];
echo print_r($userArray);
echo "<br/>";
for($i = 0 ; $i < $userArray.length; $i++){
echo $userArray[$i]
}
第二种方式:
$ary = range(1,10);
echo print_r($ary);
echo "<br/>";
$arys = range('a','z');
echo print_r($arys);
?>
判断是否是数组: is_array($ary)
数组长度:
count(var) 获取数组变量的属性的个数
sizeof(var) 获取数组中元素的个数
array_count_values 统计数组中所有值出现的次数
遍历数组:
for():遍历下标从0开始的数组
foreach:遍历任何数组
for($i = 0 ; $i < sizeof($userArray); $i++){
echo $userArray[$i];
echo "<br/>";
};
foreach($userArray as $value){
echo $value;
echo "<br/>";
}
foreach($userArray as$key => $value){
echo $key.'--'.$value.'<br/>';
}
自定义键数组
$ary = array("aa" => "aaaaaa","bb" => "bbbbbb");
echo print_r($ary);
echo '<br/>';
foreach($ary as $key => $value){
echo $key .'---'. $value;
echo '<br/>';
}
each(): 返回数组中当前的键/值,并将数组指针向前移动一步
list(): 将数组中的值赋给一些变量,数组的下标只能是数字;
$arys = ['aa','bb','cc'];
list($a1,$a2) = $arys;
echo $a1; //aa
echo $a2; //bb
数组的操作
$ary = array('aa')
增加:$ary[count($ary)] = 'bb';
array_unique($ary): 移除数组中重复的值;返回一个新数组;
array_flip($ary): 交换数组中的键和值的位置
sort($ary):按字母的升序进行排序,对原数组进行操作
ksort($ary):按照键进行排序;
asort($ary):排序后保持键和值的对应关系;
shuffle($ary):随机排序
array_reverse($ary):对数组反向排序
array_unshift:向数组开头添加元素
array_push:向数组末尾添加元素
array_pop:删除数组末尾最后一个元素
array_shift:删除数组开头第一个元素
array_rand($ary,2):返回数组的一个或多个键(参数指定个数)
current():返回数组中当前的元素(默认指针指向第一个)
next():返回数组中当前指针的指向下一个元素
reset():将指针指向第一个元素
prev():返回数组中当前指针的指向上一个元素
extract():将数组转换成标量变量
$arys = array('a'=>'apple','b'=>'banner','c'=>'orange');
extract($arys);
echo $a; // apple
echo $b; // banner
echo $c; // orange
多维数组
$arys = array(
array("aa",1,11),
array("bb",2,22),
array("cc",3,33),
array("dd",4,44)
)
for($i = 0 ; $i < count($arys);$i++){
for($j = 0 ; $j < count($arys[$i]);$j++){
echo $arys[$i][$j].'|';
}
}
$aryss = array(
array("name"=>"aa","age"=>1,"size"=>11),
array("name"=>"bb","age"=>2,"size"=>22),
array("name"=>"cc","age"=>3,"size"=>33),
array("name"=>"dd","age"=>4,"size"=>44)
);
for($i = 0; $i < count($aryss);$i++){
$cur = $aryss[$i];
foreach($cur as $key => $value){
echo $key .'---'.$value.'|';
}
echo '<br/>';
}
for($i = 0; $i < count($aryss);$i++){
$cur = $aryss[$i];
while(!!list($key,$value) = each($cur)){
echo $key.'----'.$value.'|';
}
echo '<br/>';
}