数组的简写:是否有像{}或[]这样的字面语法?

时间:2010-11-24 21:53:57

标签: php arrays syntax

PHP中数组表示法的简写是什么?

我试图使用(不起作用):

$list = {};

如果您提供有关PHP的其他缩写的一些信息的链接,那将是完美的。

8 个答案:

答案 0 :(得分:122)

<强>更新
从PHP 5.4.0开始,引入了用于声明数组的shortened syntax

$list = [];

上一个答案:

没有。仅$list = array();但您可以开始添加元素。

<?php
$list[] = 1;
$list['myKey'] = 2;
$list[42] = 3;

就PHP而言,这是完全可以的。你甚至不会得到E_NOTICE for undefined variables

  

发出E_NOTICE级错误以防万一   与未初始化的人合作   变量,但不是在的情况下   将元素附加到   未初始化的数组。

至于速记方法,遍布各地。如果您想找到它们,请阅读The Manual

一些例子,仅供您娱乐:

  1. $arr[] array_push的缩写。
  2. foreach构造
  3. echo $string1, $string2, $string3;
  4. +
  5. 的数组连接
  6. elseif
  7. 的存在
  8. 变量嵌入字符串$name = 'Jack'; echo "Hello $name";

答案 1 :(得分:43)

是的,它存在!!

从另一个Stack Overflow问题中提取:

  

数组的缩写语法已被重新讨论,接受和   现在正在发布PHP 5.4

用法:

$list = [];

参考:PHP 5.4 Short Hand for Arrays

答案 2 :(得分:27)

也可以在[]中定义内容,如下所示:

  $array = ['vaue1', 'value2', 'key3'=>['value3', 'value4']];

这只适用于php5.4及以上版本。

答案 3 :(得分:5)

答案 4 :(得分:4)

不,它是由社区提出和拒绝的,所以现在只有数组的语法是array()

答案 5 :(得分:3)

在php中定义数组的唯一方法是使用array()语言结构。 PHP没有像其他语言那样的数组文字的简写。

答案 6 :(得分:2)

我只是将字符串分解为数组:

$array = explode(",","0,1,2,3,4,5,6,7,8,9,10");

答案 7 :(得分:2)

您可以按如下方式声明数组:

$myArray1 = array(num1, num2, num3);
$myArray2 = array('string1', 'string2', 'string3');
$myArray3 = array( 'stringkey1'=>'stringvalue1', 'stringkey2'=>'stringvalue2');
$myArray4 = array( 'stringkey1'=>numValue1, 'stringkey2'=>numValue2);
$myArray5 = array( numkey1=>'stringvalue1', numkey2=>'stringvalue2');
$myArray6 = array( numkey1=>numValue1, numkey2=>numValue2);

您可以根据需要拥有尽可能多的嵌入式阵列。