Дмитрий, сделал, но мог не делать, все предсказуемо. PHP перезаписал ключ key1 последним значением. Но при этом сортировку ключей не сделал. Они идут как написаны key1, key3, key2. А mysql сделал.
Akina, компьютер вообще 0 и 1, а дальше слоями что-то накладывается-накладывается. Мне это "бинарный тип данных" не о чем не говорит на каком он уровне. Нужны конкретные примеры, я web-программист, а не ассемблер.
Василий Дёмин, "костыль" целенаправленно вставили в код из-за лени, зная что это плохо. Тут я сделал так давно, я не преследовал цели решить проблему быстро и плохо, но так вышло. И это замечательно работает еще с php 5.
Akina, а вот и нет, скорость я тоже приветствую, а не только красоту и тип данных в таблице стараюсь подбирать. К сожалению конкретных примеров от вас не услышал. Погуглил и тоже ничего не нашел. Тип данных JSON ничем не отличается от текстового кроме проверки на корректность. Не факт, может ошибаюсь.
Василий Дёмин, не волнуйся, я и буду чинить. По факту ты летишь впереди ракеты, предлагаешь чинить уже сейчас, что пока и не сломано и никогда не ломалось и в PHP 8.2 работает как надо.
Дмитрий, я знаю, что в php новый ключ в именном array затрет такой же. Ну это даже не сказать, что логично, я просто представить не могу как может быть по другому. Как это выливается в сортировку не задумывался, но по факту результат сильно разный.
Дмитрий, страница в админке присылает $_POST - это изначально. Проект разросся. А потом разные мелкие скрипты могут еще что-то делать. Хотя конкретно это значение с парами ключей, где важна сортировка меняется только в админке.
Shavadrius, пока жить можно, карточка оффера меняется редко. Оптимизировать конечно надо будет со временем, но там скорее надо будет весь этот JSON раскидать в таблице грамотно. Я что-то не надеюсь, что mysql сильно лучше работает с json, может и ошибаюсь. JSON_REMOVE и прочее я использую потому что так код получается короче и красивее.
Shavadrius, это полностью самописный проект. На самом деле все просто, это карточка оффера, в ней в том числе поля с данными организации, они должны выводиться на сайтах по порядку. JSON_REMOVE даже не затрагивает эти поля, удаляет другие данные оффера, но поля все равно портятся.
Shavadrius, Есть страница в админке откуда порядок приходит уже через $_POST, так было сделано давно, в PHP все работало много лет. Сортировать не выгодно, лишнее место где надо будет застревать, к тому же там ключи на разных языках и могут добавляться.
Единственный нормальный вариант переделать страницу в админке, но тогда изменится сам JSON и надо будет править еще скрипты, которые надо еще вспомнить - пока идеально оставить на PHP.
PHP на ваш стандарт похоже наплевал, все кодируется и раскодируется с сохранением порядка ключей. Вам нужно понимать суть вопроса. А если вам важно и вы считаете в своих силах заниматься научением "как надо правильно" это делать без ненужных эпитетов.
В вашей информации как всегда мало пользы. Хотя если честно я узнал что-то новое про "тип данных JSON" и на том спасибо. И смысл этого типа ? Функции mysql работают на текстовом поле. Он как то иначе хранится и работает быстрее ?
Akina, угомонись, в комментариях уже и те все поняли, мне Lastor сказал JSON тут вычислительно дорого, а другой товарищ сказал, что без JSON глупо - я всем доволен. Общаться с тобой мне не хочется - ты такой же как второй товарищ долго запрягаешь потом просто так же ответишь.
Akina, вопрос решен - понимаешь ? Mysql стоит 8 или даже MariaDB на другом компе, доволен ? Вопроса тут не понял ты и потому "вздрючился" но я в том не виноват, ты уточнил я ответил - но ты остался недоволен уточнением, я не могу тебе в этом помочь.