[php] 배열의 속기 : {} 또는 []와 같은 리터럴 구문이 있습니까?

PHP에서 배열 표기법의 약어는 무엇입니까?

사용하려고했습니다 (작동하지 않음) :

$list = {};

PHP의 다른 약어에 대한 정보에 대한 링크를 제공하면 완벽 할 것입니다.



답변

업데이트 :
PHP 5.4.0 부터 배열 선언을위한 단축 구문 이 도입되었습니다.

$list = [];

이전 답변 :

없습니다. 만 $list = array();하지만 당신은 단지 요소를 추가 할 수 있습니다.

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

PHP에 관한 한 완벽하게 괜찮습니다. 정의되지 않은 변수에 대해서는 E_NOTICE 조차 얻지 못할 것 입니다.

초기화되지 않은 변수로 작업하는 경우 E_NOTICE 수준 오류가 발생하지만 초기화되지 않은 배열에 요소를 추가하는 경우에는 발생하지 않습니다.

속기 방법은 여기 저기 흩어져 있습니다. 그것들을 찾고 싶다면 매뉴얼을 읽으 십시오 .

즐거움을위한 몇 가지 예 :

  1. $arr[]대한 나타내는 표현 array_push.
  2. foreach구조
  3. echo $string1, $string2, $string3;
  4. 배열 연결 +
  5. 존재 elseif
  6. 문자열에 변수 임베딩, $name = 'Jack'; echo "Hello $name";


답변

예, 존재합니다 !!

다른 스택 오버플로 질문에서 발췌 :

배열에 대한 축약 된 구문이 다시 논의되고 수용되었으며 이제 PHP 5.4와 함께 출시 될 예정입니다.

용법:

$list = [];

참조 : PHP 5.4 약식 배열


답변

다음과 같이 [] 안에 내용을 정의 할 수도 있습니다.

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

이것은 php5.4 이상에서만 작동합니다.


답변


답변

아니요, 커뮤니티에서 제안 및 거부 했으므로 현재로서는 배열 구문 만 array () 입니다.


답변

PHP에서 배열을 정의하는 유일한 방법은 array()언어 구조를 사용하는 것입니다. PHP에는 다른 언어처럼 배열 리터럴에 대한 속기가 없습니다.


답변

다음과 같이 배열을 선언 할 수 있습니다.

$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);

필요한만큼 임베디드 어레이를 가질 수 있습니다.