数组的创建
$arr=array(“sdfasdfa”, “大军阀江苏大丰”,12,46.89,true,array(12,4563,98.32));
Print_r($arr);
Echo “<br>”;
//输出结果是:Array ( [0] => sdfasdfa [1] => 大军阀江苏大丰 [2] => 12 [3] => 46.89 [4] => 1 [5] => Array ( [0] => 12 [1] => 4563 [2] => 98.32 ) )
数组的特点:
1、 不同的数据可以混装在一起
2、 有索引型数组和关联型数组-----2种
3、 创建数组的时候,可以不用指定数组的大小;
4、 数组创建常见的有2种:array()和range();还有array_fill()、compact()2种---不常用;
$ran=range(1,18);//只能创建索引型类型
print_r($ran);
Echo “<br>”;//最后打印的结果是1到18的数字
//输出结果是:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 [9] => 10 [10] => 11 [11] => 12 [12] => 13 [13] => 14 [14] => 15 [15] => 16 [16] => 17 [17] => 18 )
$ran1=range('a','z',3);
print_r($ran1);//最后打印的结果是a到z每隔3个字母的字母
Echo “<br>”;
数出结果是:Array ( [0] => a [1] => d [2] => g [3] => j [4] => m [5] => p [6] => s [7] => v [8] => y )
$arr_f=array_fill(1,8,'都会发生地方');
Print_r($arr_f);
Echo '<hr>';
输出结果是:Array ( [1] => 都会发生地方 [2] => 都会发生地方 [3] => 都会发生地方 [4] => 都会发生地方 [5] => 都会发生地方 [6] => 都会发生地方 [7] => 都会发生地方 [8] => 都会发生地方 )
$arr_g=array('3424'=>324.45,'我们'=>'中国人', 123=>5463);//关联型数组---类似于java的map(键值对)
print_r($arr_g);
echo "<br>";
输出的结果是:Array ( [3424] => 324.45 [我们] => 中国人 [123] => 5463 )
//给数组添加元素---array_pad、array_push(), array_unshift()---3个方法
$arr_t=array();
for($i=1;$i<=9;$i++){
$arr_t=array_pad($arr_t,count($arr_t)+1,$i);//count----数组大小的函数
}
print_r($arr_t);
echo "<hr>";
输出的结果是:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 )
for($i=10;$i<=15;$i++){
array_push($arr_t,$i);//array_pad和array_push从尾部添加元素
}
print_r($arr_t);
echo "<hr>";
输出结果是Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 [9] => 10 [10] => 11 [11] => 12 [12] => 13 [13] => 14 [14] => 15 )
for($i=-6;$i<=-1;$i++){
array_unshift($arr_t,$i);//array_unshift从数组头部添加元素
}
print_r($arr_t);
echo "<hr>";
输出结果是:Array ( [0] => -1 [1] => -2 [2] => -3 [3] => -4 [4] => -5 [5] => -6 [6] => 1 [7] => 2 [8] => 3 [9] => 4 [10] => 5 [11] => 6 [12] => 7 [13] => 8 [14] => 9 [15] => 10 [16] => 11 [17] => 12 [18] => 13 [19] => 14 [20] => 15 )
//数组大小--count(), sizeof();
echo count($arr_t)."<br>";
echo sizeof($arr_t)."<br>";
echo "<hr>";
结果是:21,21
//访问数组的3种方式
echo $arr_t[10];echo "<br>";//直接通过下标或者键来访问
foreach ($arr_t as $value){//通过循环来访问---循环访问方式一
echo $value."<br>";
}
foreach ($arr_g as $key=>$value){//通过循环访问---循环访问方式二
echo $key.' -- '.$value."<br>";
}
//删除数组元素(3个办法)、数组
array_shift($arr_t);//从头部删除数组
print_r($arr_t);
echo "<br>";
array_pop($arr_t);//从尾部删除数组
print_r($arr_t);
echo "<br>";
unset($arr_t[11]);//删除指定下标或者键的
print_r($arr_t);
echo "<br>";
unset($arr_t);//删除数组
print_r($arr_t);
echo "<br>";
//数组的排序;
$arr_p=array("我们","dadfa","3123.342",234.34,234,true,false,null);
print_r($arr_p);
echo "<br>";//排序之前
sort($arr_p);//一般排序(根据值来的)---不保持键值关系
print_r($arr_p);
echo "<br>";//排序之后
asort($arr_p);//一般排序(根据值来的)---但保持键值关系不变
print_r($arr_p);
echo "<br>";//排序之后
ksort($arr_p);//根据键来排序
print_r($arr_p);
echo "<br>";//排序之后
rsort($arr_p);//反序--arsort()、krsort()
print_r($arr_p);
echo "<br>";
//数组的随机
$arr_sj=rang(1,10);
print_r($arr_sj);
echo "<br>";
print_r(array_rand($arr_sj,3));//数组随机函数---返回值是一个数组