数组的创建
数组是键值对的集合,键只能是两类:整数、字符串;值可以是整数型、浮点型、字符型、布尔型、数组和对象组成。 [0]=>1 0是键名,1是键值。数组可以不用预先初始化或创建,在第一次使用时就默认创建了。
语法:“$keys => $values”,数组中每个关键字用逗号分开,关键字分位键名和键值两个部分,自定义键名可以是字符串或数字。如果省略了键名,就会从0开始的整数作为键名。如果对某个给出的键值没有键名,则取该值前面最大的整数键名加1后的值。如果键名重复,则后面覆盖前面的。键值是递增的。
$array1 = array(1, 2, 3, 4);
$array2 = array("color" => "blue", "name" => "picture", "number" => "01");
$array3 = array(1 => 2, 2 => 4, 5 => 6, 8, 10);
$array4 = [1, 2, 3, 4];
$array5 = [1 => 2, 2 => 4, 5 => 6, 3 => 8, 10];
$array6=array(1=>2,2=>4,2=>6);
print_r($array1);
print_r("
"); #换行
print_r($array2);
print_r($array3);
print_r($array4);
print_r($array5);
print_r($array6);
?>
array()函数的嵌套使用,还可以创建多为数组
#两个array的嵌套循环
$array=array(
"color"=>array("blue","red","white","black"),
"number"=>array(1,2,3,4)
);
print_r($array);
echo "
";
#三个array的嵌套循环
$array1=array(
array('type'=>'单床房',
'info'=>'此房间为单人单间','price_per_day'=>298),
array('type'=>'豪华大床房','info'=>'此房为豪华总统套房','price_per_day'=>1998)
);
print_r($array1);
?>
compact()函数,可以把一个或多个变量,甚至是数组,建立成数组元素,这些数组的键名就是变量名,值是变量的值。
extract()函数则是将数组中的元素转化成变量。
#compact()函数的示例
$num=10;
$str="hello";
$array=[1,2,3];
$newarray=compact("num","str","array");
print_r($newarray);
echo "
";
#extract()函数的示例
$array1=array("red"=>"红色","blue"=>"蓝色","white"=>"白色");
extract($array1);
echo "red blue white";
?>
array_combine()函数可以使用两个数组创建另一个数组,用前一个数组的值作为键名,后一个数组的值作为相应的键值,最后返回一个新数组。注意两个数组中的元素个数应该一致。
$a=["green","red","yellow"];
$b=['avocado','apple','banana'];
$c=array_combine($a,$b);
print_r($c);
?>
range()函数可以自动创建一个值在指定范围的数组array range($low,mixed $high [,number $step])
l
o
w
为
数
组
开
始
元
素
的
值
,
low为数组开始元素的值,
low为数组开始元素的值,high为数组结束元素。如果
l
o
w
>
low>
low>high,则序列将从
h
i
g
h
到
high到
high到low。
s
t
e
p
是
元
素
之
间
的
进
步
值
,
step是元素之间的进步值,
step是元素之间的进步值,step应该为正值,如果未指定则默认为1。**如果$step的值的与最大值前的值相加大于最大值则取到最大值前的值。
**
$array1=range(1,5);
$array2=range(2,10,2);
$array3=range(2,11,2);
$array4=range("a","e");
print_r($array1);
print_r($array2);
print_r($array3);
print_r($array4);
?>
标签:键名,创建,键值,low,数组,print,array,php
来源: https://blog.csdn.net/weixin_50797640/article/details/115364046