5种PHP创建数组的⽅式
在PHP以及其他程序语⾔程序设计中,经常会⽤到数组的创建,在前端开发中,js的数组创建可以由[]和new Array()直接创建和赋值。然⽽PHP创建数组的⽅法有哪些呢?在查阅资料并且⽹上收集整理总结了下:
1. 使⽤array创建数组,是最常见和便捷的⼀个⽅式 :
$arr = array('a','b','c');
$arr[] = 'a' ; $arr[] = 'b' ; $arr[] = 'c';
$arr = array('name' => '关⽻' , 'age' => 23 , 'sex' => '男');
2. 有时候需要创建⼀个长度为len的⼀个随机数组,所以就可以⽤range():
定义:array range(first,second,step)  //first:元素最⼩值  second:元素最⼤值  step:元素步长(要增加的量)
$number = range(0,5);
print_r ($number);
//打印:Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 4 [5] => 5 )
$number = range(0,50,10);
print_r ($number);
//打印:Array ( [0] => 0 [1] => 10 [2] => 20 [3] => 30 [4] => 40 [5] => 50 )
$letter = range("a","d");
print_r ($letter);
//打印:Array ( [0] => a [1] => b [2] => c [3] => d )
  3.当然,在某些特定需求下,需要把某些变量存⼊数组,这些变量的变量名转换成键名,变量值转换成键值(前提:该变量存在):$firstname = "Peter";
$lastname = "Griffin";
$age = "38";
$result = compact("firstname", "lastname", "age");
print_r($result);
//打印: Array ( [firstname] => Peter [lastname] => Griffin [age] => 38 )
$firstname = "Peter";
$lastname = "Griffin";
$age = "38";
$name = array("firstname", "lastname");
$result = compact($name, "location", "age");
print_r($result);
//打印:Array ( [firstname] => Peter [lastname] => Griffin [age] => 38 )
//由于$location变量不存在,所以存⼊不了数组
4. 将两个数组合并为⼀个新的数组,第⼀个数组的值是新数组的键名,第⼆个数组⾥⾯的值是新数组的键值:
定义:array_combine()函数可以将两个数组合并成⼀个新数组,其中的⼀个数组是键名,另⼀个数组的值为键值。$a1=array("a","b","c","d");
$a2=array("Cat","Dog","Horse","Cow");
print_r(array_combine($a1,$a2));
//打印:Array ( [a] => Cat [b] => Dog [c] => Horse [d] => Cow )
5. 创建键值⼀样具有固定长度的数组:
定义:array_fill(start,number,value)  //start:起始索引 number:值的个数 value:数组值
$a=array_fill(2,3,"Dog");
print_r($a);
//打印:Array ( [2] => Dog [3] => Dog [4] => Dog )
创建数组格式:
第1种格式
$数组名称 = array(‘值’, ‘值’, ‘值’,……);
此种格式没有指定数组内元素的键,PHP 会⾃动以数字的形式创建键,从 0 开始,依次累加。
调⽤数组的格式 : $数组名称[数字型键]
<?php
$arr = array('a','b','c'); echo $arr[1]; //输出
第2种格式
$数组名称[] = ‘值’;js合并两个数组
$数组名称[] = ‘值’;
$数组名称[] = ‘值’;
……
此种格式同样没有指定数组内元素的键, PHP会⾃动以数字的形式创建键,从 0开始,依次累加。
调⽤数组的格式 : $数组名称[数字型键];
<?php
$arr[] = 'a'; $arr[] = 'b'; $arr[] = 'c'; echo $arr[1]; //输出b
第3种格式
$数组名称 = array(数字类型的键=> ‘值’, 数字类型的键 => ‘值’, 数字类型的键=> ‘值’,……);
调⽤格式 : $数组名称[数字类型的键];
<?php
$arr = array(1=>'jack',2=>'lucy',500=>'hcoder'); echo $arr[500]; //输出hcoder
此种格式采⽤整数作为数组的键,php 对数组的⽀持⾮常灵活,可以任意定义数组内的数字。
如果数组内出现了重复的键则最后出现的元素会覆盖前⾯的所有键,最后⼀个为有效值。
第4种格式
$数组名称[整数类型键] = ‘值’;
$数组名称[整数类型键] = ‘值’;
$数组名称[整数类型键] = ‘值’;
……
调⽤格式 : $数组名称[整数类型键];
<?php
$arr[1] = 'jack'; $arr[2] = 'lucy'; $arr[500] = 'hcoder'; echo $arr[500]; //输出hcoder
第5种格式(关联数组)
$数组名称=array(‘字符串形式的键’=>’值’,‘字符串形式的键’=>’值’,……);调⽤格式 : $数组名称[‘字符串形式的键’];
<?php
$arr = array('name'=>'张三', 'age'=>18); echo $arr['age']; //输出18
第6种格式(关联数组)
$数组名称[ ‘字符串形式的键’]=>’值’;
$数组名称[ ‘字符串形式的键’]=>’值’;
……
调⽤格式 : $数组名称[‘字符串形式的键’];
<?php
$arr['name'] = '张三'; $arr['age'] = 18; echo $arr['age']; //输出18
简⽽⾔之就是⽤ $a[] 和 $a=array()

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。