数组
创建数组:
<?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; //aaecho $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; // appleecho $b; // bannerecho $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/>';}