• 技术文章 >后端开发 >PHP问题

    php定义数组有几种方式

    藏色散人藏色散人2022-12-26 09:29:05原创608

    php定义数组有5种方式,分别是:1、使用array创建数组;2、使用“$arr[] = 'a';”方式创建数组;3、使用“array(1=>'jack',2=>'lucy',500=>'hcoder')”方式创建数组;4、使用“$arr[1] = 'jack';”方式创建数组;5、使用“$arr['name'] = '';”方式创建数组。

    本教程操作环境:windows10系统、PHP8.1版、DELL G3电脑

    php定义数组几种方式?

    5种PHP创建数组的方式

    在PHP以及其他程序语言程序设计中,经常会用到数组的创建,在前端开发中,js的数组创建可以由[]和new Array()直接创建和赋值。然而PHP创建数组的方法有哪些呢?在查阅资料并且网上收集整理总结了下:

    3a43d427470877dbf3c489a685fb842.jpg

    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种格式

    $数组名称[] = ‘值’;

    $数组名称[] = ‘值’;

    $数组名称[] = ‘值’;

    ……

    此种格式同样没有指定数组内元素的键, 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()

    推荐学习:《PHP视频教程

    以上就是php定义数组有几种方式的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php 数组
    上一篇:php对象数组怎么转普通数组 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • php7怎么实现数组转字符串• php array value是数组吗• php怎么判断数组是否有某个元素• php对象数组怎么转普通数组
    1/1

    PHP中文网