数组
1.数组
- PHP中数组索引是从0开始的;
- 同一PHP数组可以储存不同类型的值;
- PHP数组可以动态得怎加或缩减;
数组声明语法模板
<?php
$name = array(); //长度为0
$name = array(value0, value1,..., valueN); //长度为N+1;
?>
数组元素存取语法模板
<?php
$name[index] //获取元素值
$name[index] = value; //设置元素值
$name[] = value; //追加
?>
PHP中数组索引可以不连续
<?php
$name = array("a", "b", "c");
$name[] = "d"; //name[3] = "d";
$name[100] = "e";
$name[] = "f"; //name[101] = "f";
?>
2.数组函数
print_r :打印数组
<?php
$nun = array(0, 1, 2, 3);
print_r($num);
?>
输出结果
Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 )
其他函数:
- array_diff($a, $b); //比较数组,返回差值;
- array_fill(index, numer, value); //用给定的值填充数组
- array_key_existe(); //检查指定的键名是否存在于数组中
- array_pop() //删除数组的最后一个元素(出栈)
- array_reduce() //通过室友用户自定义函数,以字符串返回数组
- array_search() //搜索数组中给定的值并返回键名
- array_reverse() //以相反的顺序返回数组
- array_shift() //删除数组的首个元素,并返回被删除元素的值
- array_splice() //删除并替换数组中指定的元素
- array_unique() //删除数组中的重复值
- arsort() //对管理数组按照键值进行降序排序
- asort() //对管理数组按照键值进行升序排序
- count(); //返回数组中元素的值
- ksort(); //对数组按照键名排序
- shuffle(); //将数组打乱
- sort(); //对数组排序
示例:
从数组中删除元素:
<?php
$num = array(0, 1, 2, 3);
print_r($num);
echo "<br />";
array_splice($num, 1, 2); //从下标为1的位置删除两个数
print_r($num);
?>
运行结果:
Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 )
Array ( [0] => 0 [1] => 3 )
数组与字符串互转函数 ----- explode/implode
示例:
<?php
$s = "UW CSE 190 M";
$a = explode(" ", $s);
$s2 = implode("---", $a);
echo($s2); //UW---CSE---190---M
echo "<br />";
foreach($a as $e){
echo $e. " "; //UW CSE 190 M
}
?>
运行结果:
UW---CSE---190---M
UW CSE 190 M
list函数:
list:把数组的值赋给变量
示例:
<?php
$stooges = array("large", "more", "curly");
list($i, $m, $c) = $stooges;
print "\$i = $i";
print "\$m = $m";
print "\$c = $c";
?>
运行结果:
$i = large
$m = more
$c = curly
数组中的foreach 循环
示例:
<?php
$num = array(1, 2, 3);
foreach($num as $a){
print "$a <br \>";
}
print_r($num);
unset($a);
?>
运行结果:
1
2
3
Array ( [0] => 1 [1] => 2 [2] => 3 )
参考代码:
<?php
$grades = array(50, 60, 70, 80);
array_splice($grades, 2, 3);
print_r($grades); //Array ( [0] => 50 [1] => 60 )
echo "<br />";
foreach($grades as $a){
print $a ." "; //50 60
}
unset($a);
echo "<br />";
$s = "UW CSE 190 M";
$a = explode(" ", $s);
$s2 = implode("---", $a);
echo($s2); //UW---CSE---190---M
echo "<br />";
foreach($a as $e){
echo $e. " "; //UW CSE 190 M
}
echo "<br />";
list ($q, $w) = $grades;
print"\$q = $q ";
print"\$w = $w "; //$q = 50 $w = 60
echo "<br />";
echo max($grades[0], $grades[1]);
?>