<code>class testClass { const FRUIT = ['apple','orage']; }</code>
여기서 FRUIT 상수를 ['apple','orage']로 정의할 수 있나요(이것은 배열입니다. 그렇죠) FRUIT는 숫자나 문자열이면 안 되나요? 대답해주세요! !
<code>class testClass { const FRUIT = ['apple','orage']; }</code>
여기서 FRUIT 상수를 ['apple','orage']로 정의할 수 있나요(이것은 배열입니다. 그렇죠) FRUIT는 숫자나 문자열이면 안 되나요? 대답해주세요! !
상수는 변경할 수 없는 양일 뿐이며 숫자나 문자열일 필요는 없습니다.
PHP7은 defind()PHP70new-featres를 통해 배열 상수를 정의할 수 있습니다
예:
<code> define('ANIMALS', [ 'dog', 'cat', 'bird' ]); echo ANIMALS[1]; // outputs "cat"` </code>
PHP7에서는 defind()를 제거하고 const를 직접 사용하여 상수 배열을 정의할 수도 있습니다
또한 PHP7은 상수 간의 연산도 지원합니다. 예: const A = 1; const B =3; const C = A + B;
PHP7부터 정의를 사용하여 상수 배열을 정의할 수 있습니다.define('APP1', array(1,2,3)); var_export(APP1);
이전 버전의 PHP에서는 먼저 배열을 문자열로 직렬화한 다음 상수를 정의한 다음 역직렬화할 수 있습니다. 사용 시:define('APP2', serialize(array(1,2,3))); var_export(unserialize(APP2));
PHP 5.6부터 const를 사용하여 상수 배열을 정의할 수도 있습니다. const APP3 = array(1,2,3); var_export(APP3);
Const는 변수가 정의된 후에는 변경할 수 없다는 의미입니다. 배열이 const로 정의된 후에는 그 안의 요소를 더하거나 뺄 수 없습니다.
PHP 5.6.0 이전에는 이런 기능이 없었으나 지금은 사용 가능합니다
<code>/** @const */ private static $myArray = array(...); </code>
대신.
이 기능은 5.6.0부터 추가되었으므로 이 코드를 실행하려면 PHP 버전 머신에 대한 특정 요구 사항이 있습니다.
5.6쯤부터 클래스에서 정의할 수 있는 것 같습니다
<code>class SomeClass { const FRUIT = ['apple','orage']; } // 取 echo SomeClass::FRUIT[0]; // apple</code>
단, 일부 IDE에서는 이를 잘 지원하지 않습니다