Size: a a a

2020 December 05

DP

Dmitri Ponomarjov in PHP
Контекст:
источник

DP

Dmitri Ponomarjov in PHP
Конкретно в данном случае вылетает substr, ожидающий string, а не int
источник

DE

Dmitry Eliseev in PHP
Dmitri Ponomarjov
Контекст:
Другую переменную сделайте
источник

О

Огурчик in PHP
Dmitri Ponomarjov
Конкретно в данном случае вылетает substr, ожидающий string, а не int
Разве substr не принимает ZVal по умолчанию, а там оно само интерпретируется как надо?
источник

АГ

Алексей Гевондян... in PHP
Andrey Kovalev
Звучит мощно.
Не работал раньше с ним, изучу, спасибо
постгря нужна
источник

АГ

Алексей Гевондян... in PHP
Dmitri Ponomarjov
Перевожу один хобби-проект на строгие типы, псалм и тд итп, вот и наткнулся. Нет проблем кастовать нужный тип, просто было интересно, есть ли какой-то способ заставить массив вести себя не как массив.
префикс добавь
источник

А

Артём in PHP
Dmitri Ponomarjov
Господа, есть какой-нибудь способ заставить PHP  воспринимать второй ключ массива как стринг в этом примере?
источник

А

Артём in PHP
Понятно, что если выносить это в константы, то толку нет, но работает же!
источник

О

Огурчик in PHP
Алексей Гевондян
префикс добавь
Говоришь - как json
источник

О

Огурчик in PHP
А. Не успел.
источник

DP

Dmitri Ponomarjov in PHP
Dmitry Eliseev
Другую переменную сделайте
боюсь, что не поможет, оно превращается в int при попытке считывания. Если сделать var_export для массива, то все ключи, начинающиеся с единицы - инты, остальные - стринги.
источник

DP

Dmitri Ponomarjov in PHP
Огурчик
Разве substr не принимает ZVal по умолчанию, а там оно само интерпретируется как надо?
Скорее всего, дело в strict_types, без них substr не ругался на int
источник

DP

Dmitri Ponomarjov in PHP
Алексей Гевондян
префикс добавь
да, можно в конец каждого ключа в исходном массиве какой-нибудь char поставить, это без проблем, но тогда уже проще через (string) приводить
источник

АГ

Алексей Гевондян... in PHP
потому что тут в форыч попадает долбаный стдкласс. вообще это дичь. не надо так
источник

А

Артём in PHP
Алексей Гевондян
потому что тут в форыч попадает долбаный стдкласс. вообще это дичь. не надо так
Кому не надо?
источник

АГ

Алексей Гевондян... in PHP
Артём
Кому не надо?
ок, понял) скажи, где работаешь, чтобы взял на заметку, куда не надо устраиваться)
источник

DP

Dmitri Ponomarjov in PHP
спасибо, мысль интересная, будем иметь такой костыль ввиду, когда что-то подобное понадобится сделать с чужой библиотекой, в которой тип не привести так просто
источник

DE

Dmitry Eliseev in PHP
Dmitri Ponomarjov
боюсь, что не поможет, оно превращается в int при попытке считывания. Если сделать var_export для массива, то все ключи, начинающиеся с единицы - инты, остальные - стринги.
Поможет:

$color = (string)$zxColor;
substr($color, 0, 1);
источник

А

Артём in PHP
Алексей Гевондян
ок, понял) скажи, где работаешь, чтобы взял на заметку, куда не надо устраиваться)
Это говорит гражданин, который непрерывно несёт дичь
источник

DP

Dmitri Ponomarjov in PHP
Dmitry Eliseev
Поможет:

$color = (string)$zxColor;
substr($color, 0, 1);
так и есть, но можно и $zxColor = (string) $zxColor сделать без доп.переменной
источник