Существует ли способ определить постоянный массив в PHP? [дубликат]

7
задан Peter Mortensen 7 December 2010 в 09:35
поделиться

4 ответа

Нет, это невозможно . Из руководства: Синтаксис констант

В константах могут содержаться только скалярные данные (логические, целые, с плавающей запятой и строковые). Можно определить константы как ресурс, но этого следует избегать, так как это может привести к неожиданным результатам.

Если вам нужно установить определенный набор констант, рассмотрите возможность создания класса и заполнения его константами классов . Слегка измененный пример из руководства:

class MyClass
{
const constant1 = 'constant value';
const constant2 = 'constant value';
const constant3 = 'constant value';

  function showConstant1() {
    echo  self::constant1 . "\n";
  }
}

echo MyClass::constant3;

Также проверьте ссылку, опубликованную GhostDog, это хороший обходной путь.

6
ответ дан 6 December 2019 в 10:49
поделиться
define('SOMEARRAY', serialize(array(1,2,3)));

$is_in_array = in_array($x, unserialize(SOMEARRAY));

Это ближе всего к константе массива.

8
ответ дан 6 December 2019 в 10:49
поделиться

не думаю, что вы можете. Но вы всегда можете попробовать поискать .

2
ответ дан 6 December 2019 в 10:49
поделиться

Вы не можете, но вы можете просто определить статический массив в классе, и он будет служить вам точно так же, просто вместо FOO вы напишите Foo::$bar.

2
ответ дан 6 December 2019 в 10:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: