Size: a a a

2020 September 06

NO

Nex Otaku in Yii Framework 3
Сергей Предводителев
Мне кажется если $key задан строкой - то он должен однозначно разбиваться на элементы точками. Не надо пытаться взять элемент с ключом 'a.b'
А по-моему наоборот. Извлечение  по точкам, должно быть только если напрямую строку не удалось найти.
источник

СП

Сергей Предводителев... in Yii Framework 3
Nex Otaku
А по-моему наоборот. Извлечение  по точкам, должно быть только если напрямую строку не удалось найти.
Не однозначно
источник

NO

Nex Otaku in Yii Framework 3
в 9 из 10 случаев будет использоваться один уровень вложенности.
источник

NO

Nex Otaku in Yii Framework 3
и если чел записал точку в ключ, его будет ждать неприятный сюрприз
источник

СП

Сергей Предводителев... in Yii Framework 3
Nex Otaku
в 9 из 10 случаев будет использоваться один уровень вложенности.
Когда есть ключ a.b и вложенные a - b. Непонятно что возвращать-то
источник

NO

Nex Otaku in Yii Framework 3
первое
источник

СП

Сергей Предводителев... in Yii Framework 3
Переслано от Сергей Предводителев...
А так:

$array = [
 'a' => [
   'b.c' => 1,
   'b' => [
     'c' => 2,
   ],
 ],
];

ArrayHelper::getValue($array, 'a.b.c');

тоже 1?
источник

СП

Сергей Предводителев... in Yii Framework 3
А тут?
источник

NO

Nex Otaku in Yii Framework 3
вполне однозначно. если разработчик использует точки для вложенности, то он такую ситуацию допускать не должен.
источник

NO

Nex Otaku in Yii Framework 3
тоже 1
источник

СП

Сергей Предводителев... in Yii Framework 3
А если я не использую в приложении точки
источник

СП

Сергей Предводителев... in Yii Framework 3
Очень не явно это все
источник

NO

Nex Otaku in Yii Framework 3
самое простое поведение всегда должно быть в первейшем приоритете, потому что оно ожидаемое.
источник

NO

Nex Otaku in Yii Framework 3
если не используешь, то ничего не ломается
источник

СП

Сергей Предводителев... in Yii Framework 3
Сергей Предводителев
Переслано от Сергей Предводителев
А так:

$array = [
 'a' => [
   'b.c' => 1,
   'b' => [
     'c' => 2,
   ],
 ],
];

ArrayHelper::getValue($array, 'a.b.c');

тоже 1?
Вот здесь простое и ожидаемое 2 получить
источник

NO

Nex Otaku in Yii Framework 3
нет
источник

СП

Сергей Предводителев... in Yii Framework 3
источник

СП

Сергей Предводителев... in Yii Framework 3
Вот тут было обсуждение https://github.com/yiisoft/arrays/issues/1 я не вникал, но такое поведение убрали.

В общем неоднозначность поведения ведёт к скрытым и неожиданным проблемам
источник

AM

Alexander Makarov in Yii Framework 3
Вопрос. getRootValue() - рут чего?
источник

СП

Сергей Предводителев... in Yii Framework 3
Alexander Makarov
Вопрос. getRootValue() - рут чего?
Смысл - получить значение из массива/объекта без захода во вложенности
источник