Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: неассоциатывные и ассоциативные массивы
 
 автор: root_xxx   (09.12.2014 в 02:13)   письмо автору
 
 

В каких случаях лучше (ах, блиин, еще и вопрос не дописал - а ответ уже и сам, КАЖИСЬ, сообразил) использовать неассоциативные\ассоциативные массивы?

Неассоциативные массивы используются в циклах, там где нужно выводить много данных и переменная-указатель на элемент массива изменяется в цикле.

А ассоциативные массивы лучше читаются в коде.
---
Какая еще разница между этими типами массивов? или разница только в способе обращения в коде к ним (к массивам)?
---
Надо было в ветке о php писать.

  Ответить  
 
 автор: Valick   (09.12.2014 в 08:20)   письмо автору
 
   для: root_xxx   (09.12.2014 в 02:13)
 

а в каких случаях надо есть хлеб, а в каких булку?
____
для циклов используется foreach(), также есть огромная куча операторов и функций для работы с массивами

  Ответить  
 
 автор: root_xxx   (09.12.2014 в 16:46)   письмо автору
 
   для: Valick   (09.12.2014 в 08:20)
 

[off]булка вкуснее[/off]

  Ответить  
 
 автор: Trianon   (09.12.2014 в 18:33)   письмо автору
 
   для: root_xxx   (09.12.2014 в 16:46)
 

Ой не факт.
С борщом, к примеру, черный ржаной хлеб вне конкуренции.

Так что все зависит от контекста.
К слову сказать, в php массив с численными индексами от ассоциативного практически ничем не отличается

  Ответить  
 
 автор: KPETuH   (10.12.2014 в 10:09)   письмо автору
 
   для: Trianon   (09.12.2014 в 18:33)
 

С борщем вне конкуренции черная горбушка обильно натертая чесноком )

  Ответить  
 
 автор: confirm   (09.12.2014 в 19:41)   письмо автору
 
   для: root_xxx   (09.12.2014 в 02:13)
 

Как таковой разницы нет, но работая с индексным массивом нужно обязательно знать под каким индексом содержаться данные, грубо говоря порядок этих данных. Для ассоциативных такого неудобства нет.

Выбирают не по принципу какой "красивее", а какой удобнее. Если необходимым образом подготовили данные, то есть заведомо упорядочили их, и применяем к ним функции, которые работают с "порядком" этой структуры данных, то в ассоциации надобности нет.

Нужно знать, что при различных операциях с массивами результат может зависеть как раз от того какой массив, индексный или ассоциативный. И это относится не только к РНР. Например, есть две таблицы в которых есть поля с одинаковыми именами: id и name. Если выбрать записи из этих таблиц таким запросом:

'SELECT * FROM tbl1, tbl2'

то при получении ассоциативных данных вернутся данные только второй таблицы, а если запрашивать индексные данные, то обеих.

  Ответить  
 
 автор: root_xxx   (04.01.2015 в 03:29)   письмо автору
 
   для: confirm   (09.12.2014 в 19:41)
 

спс. это важно. (я незнал этого).

ДОписываю: Хотя я изначально избегаю совпадения имен полей в разных таблицах. Я раньше писал что ид пользователя в таблица ПОСТЫ называется uid_in_posts. Так понятнее что это за ИД такой, и где он размещен.

  Ответить  
 
 автор: root_xxx   (04.01.2015 в 13:29)   письмо автору
 
   для: confirm   (09.12.2014 в 19:41)
 

очень интересно почему вернутся данные второй таблицы, а не первой. Но это наверное особенности работы самого мскл ??? Возможно эти поля (из первой таблицы) будут перезаписаны полями со второй таблицы.

  Ответить  
 
 автор: confirm   (04.01.2015 в 15:09)   письмо автору
 
   для: root_xxx   (04.01.2015 в 13:29)
 

Это особенности "особенностей" )

Не может массив иметь двух и более одинаковых ключей, поэтому в итоге (и не только в MySQL, открывайте раздел функций работы с массивами в РНР, и читайте), если встретился ключ "nfmt1", он и его значение будет помещено в ресурс возвращаемый. Но если дальше опять попадется ключ с этим же именем, то по условию оговоренному выше, предыдущее значение этого ключа будет заменено значением вновь попавшегося ключа.

Но если это не ассоциативный набор, а индексный, то в массив (в ресурс возвращаемый) этот элемент будет добавлен следующим по порядку индексом.

  Ответить  
 
 автор: root_xxx   (04.01.2015 в 17:45)   письмо автору
 
   для: confirm   (04.01.2015 в 15:09)
 

О том что два одинаковых ключа не может быть (в ОДНОМ массиве) - то это понтяно. Значит оно перезапишется - ПОКА что ничего такого особенного тут не вижу. НО раньше я этого не мог понять. понял только пару часов назад. :)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования