У меня проблема с in_array с использованием новых введенных констант класса массива. Когда я ставлю класс постоянный, который содержит массив в функцию я получаю предупреждение:in_array не работает с константами класса
Warning: in_array() expects parameter 2 to be array, unknown given in...
Код:
foreach ($fields as $key => $value) {
if (in_array($key, self::FIELDS)) $this->$key = $value;
}
Constant (внутри класса):
const FIELDS = [
self::FIELD_ID,
self::FIELD_STREET,
self::FIELD_HOUSE_NR,
self::FIELD_POSTCODE,
self::FIELD_CITY,
self::FIELD_PERSONAL_NUMBER,
self::FIELD_SELLER_NAME,
'empty'
];
Странная часть этой проблемы заключается в том, что она работает на моей локальной машине без каких-либо ошибок/предупреждений (Mac), работающих на P HP 5.6.2, но на моем сервере также не работает PHP 5.6.2.
Как устранить эту ошибку? (Я не хочу использовать статические массивы ...)
что само :: ПЛОЩАДКА –
Очевидно само :: FIELDS не то, что вы думаете, должно быть, вы можете сбросить его? –
На моей локальной машине self :: FIELDS - это массив, содержащий 8 строк (как и должно быть). На моем сервере это «НЕИЗВЕСТНО: 0». –