Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ключи массива на русском языке 
:(
    Опции темы
WolfAlone
Дата 16.2.2011, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


В экстазе
***


Профиль
Группа: Завсегдатай
Сообщений: 1010
Регистрация: 16.9.2008
Где: Рай

Репутация: 1
Всего: 5



Доброго времени суток!

Подскажите пожалуйста, как работают кириллические ключи в массивах?

Пример: 
Код

array1['Ключ_массива1'] = 10;


//var_dump выводит всё замечательно (используется кодировка символов UTF-8), но меня терзают смутные сомнения по поводу "не глюкнет ли это когда-нибудь?"


--------------------
И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!"

Ф топку Ubuntu, Debian наше фсё!

(с) Евгений Вольф
PM MAIL WWW ICQ Skype   Вверх
gta4kv
Дата 16.2.2011, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 21
Всего: 91



А зачем, если не секрет?
PM MAIL   Вверх
WolfAlone
Дата 16.2.2011, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


В экстазе
***


Профиль
Группа: Завсегдатай
Сообщений: 1010
Регистрация: 16.9.2008
Где: Рай

Репутация: 1
Всего: 5



Предполагал этот вопрос! Хотел сразу ответить, но потом решил всё-такие его дождаться...  smile 

Отвечаю. В БД есть каталог товаров. Каталог товаров представлен в формате:

Код

МОДЕЛЬ / НАИМЕНОВАНИЕ / ЦВЕТ / ЦЕНА
Модель 1  Телефон               зел.     100
Модель 2  Телефон 2            сер.     90
Модель 1  Телефон               крас.   110


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

Работает это так:
Код

foreach ($XYZ as $row) {
    $result[$row['model']][] = $row;
}


Это сообщение отредактировал(а) WolfAlone - 16.2.2011, 17:12


--------------------
И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!"

Ф топку Ubuntu, Debian наше фсё!

(с) Евгений Вольф
PM MAIL WWW ICQ Skype   Вверх
gta4kv
Дата 16.2.2011, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 21
Всего: 91



В каком-каком формате? smile
PM MAIL   Вверх
WolfAlone
Дата 16.2.2011, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


В экстазе
***


Профиль
Группа: Завсегдатай
Сообщений: 1010
Регистрация: 16.9.2008
Где: Рай

Репутация: 1
Всего: 5



в итоге мы получаем массив ключом которого является модель устройства, в который вложены другие массивы, содержащие в себе устройства аналогичное модели с параметром цвет=цена.

Это сообщение отредактировал(а) WolfAlone - 16.2.2011, 17:17


--------------------
И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!"

Ф топку Ubuntu, Debian наше фсё!

(с) Евгений Вольф
PM MAIL WWW ICQ Skype   Вверх
Evghenusi
Дата 16.2.2011, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


майский жук
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 3.8.2006
Где: Молдова, Кишинёв

Репутация: 6
Всего: 15



а сразу всё нужное найти через БД никак?
что-то вы усложняете задачку

Это сообщение отредактировал(а) Evghenusi - 16.2.2011, 17:35
PM WWW   Вверх
WolfAlone
Дата 16.2.2011, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


В экстазе
***


Профиль
Группа: Завсегдатай
Сообщений: 1010
Регистрация: 16.9.2008
Где: Рай

Репутация: 1
Всего: 5



Evghenusi, задачу я как раз наоборот упростил (себе). Если дёргать из БД каждую конкретную модель... если таких моделей будет 100? То 100 лишних запросов в БД (пусть даже маленьких), как-то не кошерно.

В коде выше, в переменной $XYZ содержится вся таблица, отсортированная в нужном порядке, к которой в разноброс напиханы модели товаров и их соотношения цвет=цена. Группировать перед выводом их нужно по значению поля "Модель".

При этом выводится пользователю должна только 1-а модель товара, а не вся цветовая гамма одной модели. Соотношение цвет=цена есть ни что иное, как "опция" для каждой конкретной модели.


--------------------
И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!"

Ф топку Ubuntu, Debian наше фсё!

(с) Евгений Вольф
PM MAIL WWW ICQ Skype   Вверх
patap
Дата 16.2.2011, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: 26
Всего: 40



зачем мудрить... одним запросом достал нужные телефоны, отсортированные по модели. Потом на основе этих данных сформировал нужный массив и все. Стандартная операция, не нужно никаких русских ключей, 100 запросов и т.д.


--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
Dima 2015
Дата 18.2.2011, 05:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 287
Регистрация: 16.3.2008
Где: SPb

Репутация: 2
Всего: 2



Рискну ответить на вопрос топик-стартера, а то тут чего только не сказали и не спросили почему да зачем, но по теме ноль ответов smile

Цитата

Подскажите пожалуйста, как работают кириллические ключи в массивах?

Нормально работают. Они кстати даже в джаваскрипте хорошо работают, сам пробовал, удивился.

Цитата

"не глюкнет ли это когда-нибудь?" 

Не глюкнет, просто следи аккуратно за кодировкой данных и все. Ну и trim()-ом можно все обкусывать, если какие-то данные приходят от юзера.

Еще позволю себе посоветовать посмотреть в сторону sql-ных GROUP BY в совокупности с GROUP_CONCAT, до конца не вникал, но по-моему задачу автора можно решить одним запросом с помощью этих 2х констркуций, и потом одним explode-ом получить нужные данные без перебора.
PM MAIL ICQ   Вверх
Shogun
Дата 18.2.2011, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сёгун-сан
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 8.6.2006
Где: Кишинёв

Репутация: 9
Всего: 11



А что мешает Вам использовать вместо названии модели его ид??


--------------------
2b || !2b
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0546 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.