Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив

АссоциативныС массивы Π² PHP с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив

ΠœΠ°ΡΡΠΈΠ²Ρ‹ β€” способ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС.

Массив ΠΏΡ€ΠΎΡ‰Π΅ всСго ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ подписанных ΠΊΠΎΡ€ΠΎΠ±ΠΎΠΊ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΅Π·Π΄Π΅. Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΡ€ΠΎΠ±ΠΊΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π»Π΅ΠΆΠ°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, числа, строки, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив

Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Ρ‹ массивы

Π’ массивах хранится информация β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π»Π΅ΠΆΠΈΡ‚ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΡ€ΠΎΠ±ΠΊΠ΅. Π’ ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³Π»ΡΠ½ΡƒΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ индСкс элСмСнта β€” Π½ΠΎΠΌΠ΅Ρ€ ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ.

КаТдая ΠΊΠΎΡ€ΠΎΠ±ΠΊΠ° β€” элСмСнт массива, Π½ΠΎΠΌΠ΅Ρ€ ΠΏΠΎΠ΄ Π½Π΅ΠΉ β€” индСкс. Π’ΠΎ, Ρ‡Ρ‚ΠΎ Π»Π΅ΠΆΠΈΡ‚ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ β€” Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнта.

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ массив Π² PHP

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ массив Π² PHP напишСм Ρ‚Π°ΠΊ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΅ΡΡ‚ΡŒ Π΄Π²Π° способа Ρ‚ΡƒΠ΄Π° Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ. Если ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Π½Π° ΠΊΠ°ΠΊΠΎΠ΅ мСсто Π² массивС Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ элСмСнт, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ индСкс.

Если ΠΌΡ‹ Π½Π΅ Π·Π½Π°Π΅ΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ индСксы ΠΈΠ»ΠΈ просто Ρ…ΠΎΡ‚ΠΈΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнты Π² массив ΠΏΠΎ порядку, Π½ΡƒΠΆΠ½Π° такая запись:

НумСрация Π² массивах

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ счёт элСмСнтов массива ΠΈΠ΄Ρ‘Ρ‚ ΠΎΡ‚ нуля. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ ΠΊΠΎΡ€ΠΎΠ±ΠΊΠ°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π½ΠΎΠΌΠ΅Ρ€ ноль, Ρƒ Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” 1, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный ΠΌΠ°ΡΡΠΈΠ²Π—Π΄Π΅ΡΡŒ Ρƒ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ элСмСнта массива Π½ΠΎΠΌΠ΅Ρ€ 1, Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” 2

Но массиву ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΡŽ. Допустим, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² массив значСния стСпСнСй Π΄Π²ΠΎΠΉΠΊΠΈ.

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ создаст массив ΠΈΠ· Ρ‚Ρ€Ρ‘Ρ… элСмСнтов, с Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ 2, 4 ΠΈ 7. Π­Ρ‚ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ссли Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ:

АссоциативныС массивы Π² PHP

Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅ массивы, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρƒ Π½ΠΈΡ… индСкс Π½Π΅ число, Π° строка. Или Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ Π΅Ρ‰Ρ‘. НСудобно ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΅Π·Π΄Π΅ ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌ β€” Π½ΠΎ Ссли Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Β«ΠšΡƒΡ…Π½ΡΒ», «Бпальня» ΠΈΠ»ΠΈ «Гостиная», Ρ‚ΠΎ сразу Π±ΡƒΠ΄Π΅Ρ‚ понятно, Π³Π΄Π΅ Ρ‡Ρ‚ΠΎ.

ИндСкс Π² Ρ‚Π°ΠΊΠΎΠΌ случаС называСтся ΠΊΠ»ΡŽΡ‡ΠΎΠΌ β€” ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΡ€ΠΎΠ±ΠΊΠ° Π·Π°ΠΊΡ€Ρ‹Ρ‚Π° Π½Π° Π·Π°ΠΌΠΎΠΊ, Π° Π·Π½Π°Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π΅Ρ‘ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив

Π’ΠΎΠ·ΡŒΠΌΡ‘ΠΌ ΠΊΡƒΡ…ΠΎΠ½Π½ΡƒΡŽ ΠΊΠΎΡ€ΠΎΠ±ΠΊΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π»Π΅ΠΆΠ°Ρ‚ Π»ΠΎΠΆΠΊΠΈ, Π½ΠΎΠΆΠΈ ΠΈ Ρ‚Π°Ρ€Π΅Π»ΠΊΠΈ. МоТно ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π΅Ρ‘ двумя способами. Π’Π°ΠΊ:

Как вывСсти массив

АссоциативныС массивы ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Π²Π°ΠΊΡƒΡƒΠΌΠ΅, Π½ΠΎ ΠΌΡ‹ рассмотрим случаи, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² настоящих сайтах.

Π­Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи с трСмя полями. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ name Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· ΠΏΠΎΠ»Π΅ΠΉ Π²Π²ΠΎΠ΄Π°.

Π­Ρ‚ΠΎ такая ΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΠ°, ΠΊΠ°ΠΊ Π²Ρ‹ΡˆΠ΅. Π Π°Π·Π½ΠΈΡ†Π° Π² method=»get» β€” ΠΈ Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅ расскаТу, Π² Ρ‡Ρ‘ΠΌ Π΅Ρ‰Ρ‘.

Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ€Π°Π·Π½ΠΈΡ†Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ страницы с Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π² адрСсС страницы появятся Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Ρ„ΠΎΡ€ΠΌΡ‹.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив

Π‘ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· GET ΠΈ POST ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π³Π»Π°Π²Π΅ курса «Знакомство с PHPΒ».

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ массива ΠΈΠ· Π±Π°Π·Ρ‹ MySQL

Π•Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ частый случай использования ассоциативных массивов β€” ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. И Ссли ΠΌΡ‹ Ρ…Ρ€Π°Π½ΠΈΠΌ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π² Π±Π°Π·Π΅, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π½Π°Π·Π½Π°Ρ‡Π°Ρ‚ΡŒ столбцам Π½ΠΎΠΌΠ΅Ρ€Π°. А Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта ΠΊΠ»ΡŽΡ‡ΠΎΠΌ стал Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ β€” Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°, Ρ‚Π°ΠΊ ΠΈ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅.

Допустим, Ρƒ нас Π΅ΡΡ‚ΡŒ Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Π² MySQL, ΠΌΡ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡΡ ΠΊ Π½Π΅ΠΉ, Π΄Π΅Π»Π°Π΅ΠΌ запрос ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ список ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Π Π°Π·Π±ΠΈΡ€Π°Π΅ΠΌ ΠΊΠΎΠ΄

Π—Π°Π²ΠΎΠ΄ΠΈΠΌ пустой массив для ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

Π’ этой строчкС Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ построчно ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹.

И Ссли Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π΅ΡΡ‚ΡŒ, записываСм ΠΈΡ… Π² ассоциативный массив.

УпраТнСния с массивами Π½Π° PHP

Π£ нас Π΅ΡΡ‚ΡŒ бСсплатный ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ курс, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π· установки PHP, прямо Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ для Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта. И Π·Π°ΠΎΠ΄Π½ΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с массивами, Ρ†ΠΈΠΊΠ»Π°ΠΌΠΈ ΠΈ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ вся эта магия.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Ассоциативный массив

Из Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ β€” свободной энциклопСдии

Ассоциативный массив β€” абстрактный Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… (интСрфСйс ΠΊ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Ρ‹ Π²ΠΈΠ΄Π° Β«(ΠΊΠ»ΡŽΡ‡, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅)Β» ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния ΠΏΠ°Ρ€Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ поиска ΠΈ удалСния ΠΏΠ°Ρ€Ρ‹ ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ:

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ ассоциативный массив Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π²Π΅ ΠΏΠ°Ρ€Ρ‹ с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ FIND(ΠΊΠ»ΡŽΡ‡) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ассоциированноС с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ, ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ UNDEF, ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰ΠΈΠΉ, Ρ‡Ρ‚ΠΎ значСния, ассоциированного с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ, Π½Π΅Ρ‚. Π”Π²Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ (Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π»ΠΈ Π±Ρ‹Π»Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° данная опСрация).

Ассоциативный массив с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния интСрфСйса ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ массив, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π² качСствС индСксов ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π»Ρ‹Π΅ числа, Π½ΠΎ ΠΈ значСния Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, строки.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ассоциативных массивов Π΅ΡΡ‚ΡŒ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языках программирования высокого уровня, Ρ‚Π°ΠΊΠΈΡ…, ΠΊΠ°ΠΊ Perl, PHP, Python, Ruby, Tcl, JavaScript [1] ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ…. Для языков, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ встроСнных срСдств Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ассоциативными массивами, сущСствуСт мноТСство Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ Π² Π²ΠΈΠ΄Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ассоциативного массива являСтся Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹ΠΉ справочник: Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС являСтся ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Β« Π€. И. О. + адрСс», Π° ΠΊΠ»ΡŽΡ‡ΠΎΠΌ β€” Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, ΠΎΠ΄ΠΈΠ½ Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°, Π½ΠΎ ΠΎΠ΄ΠΈΠ½ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ².

Π’Ρ€ΠΈ основных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ часто Π΄ΠΎΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярныС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ:

Π’ послСдних Π΄Π²ΡƒΡ… случаях Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π° ΠΊΠ»ΡŽΡ‡Π°Ρ… Π±Ρ‹Π»Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° опСрация сравнСния.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Ассоциативный массив

Ассоциативный массив (ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ) β€” абстрактный Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… (интСрфСйс ΠΊ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Ρ‹ Π²ΠΈΠ΄Π° Β«(ΠΊΠ»ΡŽΡ‡, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅)Β» ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния ΠΏΠ°Ρ€Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ поиска ΠΈ удалСния ΠΏΠ°Ρ€Ρ‹ ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ:

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ ассоциативный массив Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π²Π΅ ΠΏΠ°Ρ€Ρ‹ с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ.

Π’ ΠΏΠ°Ρ€Π΅ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массивзначСниС Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массивназываСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, ассоциированным с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π‘Π΅ΠΌΠ°Π½Ρ‚ΠΈΠΊΠ° ΠΈ названия Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² Ρ€Π°Π·Π½Ρ‹Ρ… рСализациях ассоциативного массива ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ FIND(ΠΊΠ»ΡŽΡ‡) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ассоциированноС с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ, ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ UNDEF, ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰ΠΈΠΉ, Ρ‡Ρ‚ΠΎ значСния, ассоциированного с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ, Π½Π΅Ρ‚. Π”Π²Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ (Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π»ΠΈ Π±Ρ‹Π»Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° данная опСрация).

Ассоциативный массив с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния интСрфСйса ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ массив, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π² качСствС индСксов ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π»Ρ‹Π΅ числа, Π½ΠΎ ΠΈ значСния Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, строки.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ассоциативных массивов Π΅ΡΡ‚ΡŒ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языках программирования высокого уровня, Ρ‚Π°ΠΊΠΈΡ…, ΠΊΠ°ΠΊ Perl, PHP, Python, Ruby, Tcl, JavaScript [1] ΠΈ Π΄Ρ€. Для языков, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ встроСнных срСдств Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ассоциативными массивами, сущСствуСт мноТСство Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ Π² Π²ΠΈΠ΄Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ассоциативного массива являСтся Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹ΠΉ справочник. ΠšΠ»ΡŽΡ‡ΠΎΠΌ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС являСтся Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ β€” ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ЀИО + адрСс. Один Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°, Π½ΠΎ ΠΎΠ΄ΠΈΠ½ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ².

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ассоциативного массива

Π£ΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Ρ‚Ρ€ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ часто Π΄ΠΎΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ. НаиболСС популярныС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ:

Π’ послСдних Π΄Π²ΡƒΡ… случаях Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π° ΠΊΠ»ΡŽΡ‡Π°Ρ… Π±Ρ‹Π»Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° опСрация сравнСния.

Π Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ассоциативного массива

БущСствуСт мноТСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ ассоциативного массива.

Бамая простая рСализация ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ основана Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ массивС, элСмСнтами ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ°Ρ€Ρ‹ (ΠΊΠ»ΡŽΡ‡, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅). Для ускорСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ поиска ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΡ‚ΡŒ элСмСнты этого массива ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ ΠΈ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска. Но это ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ врСмя выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ°Ρ€Ρ‹, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Β«Ρ€Π°Π·Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΒ» элСмСнты массива, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π²ΡˆΡƒΡŽΡΡ ΠΏΡƒΡΡ‚ΡƒΡŽ ячСйку ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ запись.

НаиболСС популярны Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, основанныС Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π΄Π΅Ρ€Π΅Π²ΡŒΡΡ… поиска. Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ STL языка Π‘++ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ map Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½Π° основС красно-Ρ‡Ρ‘Ρ€Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π°. Π’ языках Ruby, Tcl, Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Ρ…ΡΡˆ-Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π•ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΅ΡΡ‚ΡŒ свои достоинства ΠΈ нСдостатки. Π’Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС Ρ‚Ρ€ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ ΠΊΠ°ΠΊ Π² срСднСм, Ρ‚Π°ΠΊ ΠΈ Π² Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ случаС Π·Π° врСмя Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив, Π³Π΄Π΅ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив— Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ количСство Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… ΠΏΠ°Ρ€. Для сбалансированных Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π² поиска (Π² Ρ‚ΠΎΠΌ числС для красно-Ρ‡Ρ‘Ρ€Π½Ρ‹Ρ… Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π²) это условиС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ.

Π’ рСализациях, основанных Π½Π° Ρ…ΡΡˆ-Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ…, срСднСС врСмя оцСниваСтся ΠΊΠ°ΠΊ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив, Ρ‡Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ Π² рСализациях, основанных Π½Π° Π΄Π΅Ρ€Π΅Π²ΡŒΡΡ… поиска. Но ΠΏΡ€ΠΈ этом Π½Π΅ гарантируСтся высокая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ: врСмя ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ INSERT Π² Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ случаС оцСниваСтся ΠΊΠ°ΠΊ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ INSERT выполняСтся Π΄ΠΎΠ»Π³ΠΎ, ΠΊΠΎΠ³Π΄Π° коэффициСнт заполнСния становится высоким ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ индСкс Ρ…ΡΡˆ-Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

Π₯эш-Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΠ»ΠΎΡ…ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π½Π° ΠΈΡ… основС нСльзя Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ быстро Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ MIN, MAX ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΎΠ±Ρ…ΠΎΠ΄Π° всСх Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… ΠΏΠ°Ρ€ Π² порядкС возрастания ΠΈΠ»ΠΈ убывания ΠΊΠ»ΡŽΡ‡Π΅ΠΉ.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ассоциативных массивов Π² языках программирования

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° STL языка C++

Π—Π΄Π΅ΡΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅Π΅ консольноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π΅ интСрфСйс Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠΆΠΊΠΈ. Оно Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π½Π° основС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° map.

Π’ языкС Java ассоциативный массив имСнуСтся ΠΊΠ°Ρ€Ρ‚ΠΎΠΉ(map) ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ интСрфСйс Π² стандартном Java API: java.util.Map Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ Java SDK Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ряд Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ этого интСрфСйса: HashMap, LinkedHashMap, ConcurrentHashMap, EnumMap, TreeMap ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

Класс Hash ΠΈΠ· стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ruby ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ [] (find), []= (insert), delete, each, keys, values, Π° Ρ‚Π°ΠΊΠΆΠ΅ мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ….

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½ ΠΊΠΎΠ΄ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ выполнСния ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½ ΠΊΠΎΠ΄ с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ консольного прилоТСния «тСлСфонная ΠΊΠ½ΠΈΠΆΠΊΠ°Β».

Python

ВстроСнный Π² Python Ρ‚ΠΈΠΏ ассоциативного массива называСтся словарём, элСмСнтами ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ°Ρ€Ρ‹ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

Π—Π΄Π΅ΡΡŒ Π±Ρ‹Π»ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π΄Π²Π° способа написания Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π° словаря ΠΈ продСмонстрировано, Ρ‡Ρ‚ΠΎ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ любого нСизмСняСмого (Π² Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ python) Ρ‚ΠΈΠΏΠ°. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ: Ссли Ρ€Π°Π½Π΅Π΅ ΠΊΠ»ΡŽΡ‡Ρƒ ΡƒΠΆΠ΅ соотвСтствовало Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ пСрСзаписано (ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ см. Python Tutorial, Dictionaries (Π°Π½Π³Π».) ). Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ со словарСм:

На Python вСсьма просто ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свой класс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ вСсти сСбя ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΡΠ»ΠΎΠ²Π°Ρ€ΡŽ. Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ лишь ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π² своСм классС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ (см. Python Reference Manual, Emulating container types (Π°Π½Π³Π».) ).

Π Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ свойства встроСнного Ρ‚ΠΈΠΏΠ° словаря (dict) ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡƒΡ‚Π΅ΠΌ наслСдования класса, см. ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

Ассоциативный массив (Π² Perl принято Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ…Π΅ΡˆΠ΅ΠΌ β€” Π°Π½Π³Π». hash [2] ) являСтся встроСнным Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…. Π₯Сш ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ поэлСмСнтно Π»ΠΈΠ±ΠΎ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ, присвоив Π΅ΠΌΡƒ значСния списка, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ элСмСнты записаны Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°Ρ€ Β«ΠΊΠ»ΡŽΡ‡ β€” Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β», Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠ°Ρ€Ρ‹ элСмСнты ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ ΠΏΡƒΡ‚Ρ‘ΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, запятой), Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° => :

Delphi

Delphi Π΄ΠΎ 2007 вСрсии Π½Π΅ ΠΈΠΌΠ΅Π»ΠΎ прямых срСдств Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ассоциативными массивами. Однако, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠΌΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ассоциативныС массивы, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° списковыС классы для этого: TBucketList, TObjectBucketList, THashedStringList, TStringList (ΠΊΠ°ΠΊ ΠΈ всС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΈ TStrings, Π° Ρ‚Π°ΠΊΠΆΠ΅ Memo, ListBox ΠΈ Π΄Ρ€.). НапримСр:

PL/SQL

Π‘Π£Π‘Π” Oracle начиная с вСрсии 9.2.0 позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² качСствС ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΏΠΎΠΌΠΈΠΌΠΎ binary_integer ΠΈ pls_integer Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ строки varchar2 с Π΄Π»ΠΈΠ½ΠΎΠΉ Π΄ΠΎ 32767:

PureBasic

Π’ PureBasic начиная с вСрсии 4.40 появилась встроСнная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ассоциативных массивов. Π•Π³ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΊΠ°Ρ€Ρ‚ΠΎΠΉ (map). ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ ассоциативного массива.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ структурированного (ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ элСмСнтом являСтся структура Π΄Π°Π½Π½Ρ‹Ρ…) ассоциативного массива.

JavaScript

Π’ JavaScript понятиС ассоциативного массива ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ отсутствуСт. ΠžΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ массивы ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ числовыС индСксы, ΠΏΠΎΡ‚ΠΎΠΌΡƒ для эмуляции ассоциативных массивов, ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π² Ρ‚ΠΎΠΌ числС ΠΈ строковыС значСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ Π²ΠΈΠ΄Π° myVar = < key1: value1, key2: value2, … >создаСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ myVar с Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ»Π΅ΠΉ, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ свой ΠΊΠ»ΡŽΡ‡ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’ дальнСйшСм доступ ΠΊ элСмСнтам этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ с использованиСм Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΠΏΠΎΠ»Π΅ΠΉ (myVar.key1), Ρ‚Π°ΠΊ ΠΈ Π² Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ массивов ΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ (myvar[‘key1’]).

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅

Бсылки

ΠšΠ»Π°ΡΡΡ‹ ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠ΅ ассоциативный массив ΠΈΠ»ΠΈ Π΅Π³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… языках программирования:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

АссоциативныС массивы Π² JavaScript

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив

Π‘Ρ‚Π°Ρ‚ΡŒΡ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ рассмотрим ΠΊΠ°ΠΊΠΈΠ΅ Π² JavaScript ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ способы создания ассоциативных массивов, Π° Ρ‚Π°ΠΊΠΆΠ΅ основныС ΠΏΡ€ΠΈΡ‘ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌΠΈ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив?

Ассоциативный массив – это массив, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ осущСствляСтся ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ.

ΠŸΡ€ΠΈ этом Π² качСствС ΠΊΠ»ΡŽΡ‡Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π΅ порядковый Π½ΠΎΠΌΠ΅Ρ€ (индСкс), Π° нСкоторая строка, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ устанавливаСм сами.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ассоциативный массив ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ€ ΠΏΠ°Ρ€ Β«ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β». ΠŸΡ€ΠΈ этом ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ связано с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡.

Бпособы создания ассоциативных массивов

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ассоциативных массивов Π² JavaScript ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ двумя Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ способами:

ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ Map

Map – это коллСкция Β«ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β», ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания ассоциативных массивов.

Map Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² качСствС ΠΊΠ»ΡŽΡ‡Π΅ΠΉ значСния Π»ΡŽΠ±Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅, Ρ‚Π°ΠΊ ΠΈ ссылочныС.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ пустой ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ:

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ с ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ строки Β«key1Β», Β«key2Β» ΠΈ Β«key3Β» ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ, Π° Β«value1Β», Β«value2Β» ΠΈ Β«value3Β» соотвСтствСнно ΠΈΡ… значСниями.

Π£Π·Π½Π°Ρ‚ΡŒ количСство элСмСнтов Π² массивС ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свойства size :

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ элСмСнта Π² массив (Π² экзСмпляр ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Map) осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° set :

Если Π² массивС Π΅ΡΡ‚ΡŒ ΡƒΠΆΠ΅ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ»ΡŽΡ‡, Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚ установка Π½ΠΎΠ²ΠΎΠ³ΠΎ значСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ связано с Π½ΠΈΠΌ:

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ выполняСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° get :

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΅ΡΡ‚ΡŒ Π»ΠΈ ΠΊΠ»ΡŽΡ‡ Π² массивС ΠΌΠΎΠΆΠ½ΠΎ посрСдством ΠΌΠ΅Ρ‚ΠΎΠ΄Π° has :

Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ· ассоциативного массива (экзСмпляра ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Map) элСмСнт ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ»ΡŽΡ‡Π° ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° delete :

ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ записСй ассоциативного массива с использованиСм ΠΌΠ΅Ρ‚ΠΎΠ΄Π° entries :

Π”Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² for. of, поэтому Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ:

ΠšΡ€ΠΎΠΌΠ΅ этого ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ ассоциативный массив ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° forEach.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ассоциативный массив (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Map) Π² JSON ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ:

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠ°ΠΊ ассоциативный массив

Π’ качСствС ассоциативного массива ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ пустого ассоциативного массива Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚:

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ассоциативный массив значСниями Π½Π° этапС Π΅Π³ΠΎ создания:

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСнта (ΠΏΠ°Ρ€Ρ‹ Β«ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β»):

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСнта Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° Π² Π½Ρ‘ΠΌ Π½Π΅Ρ‚. Если Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ ΡƒΠΆΠ΅ сущСствуСт, Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ просто ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅.

Π’ качСствС значСния ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ ΠΈ ссылочныС.

Π’ JavaScript для обращСния ΠΊ ΠΊΠ»ΡŽΡ‡Ρƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки, Π½ΠΎ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ это Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒ. Но это доступно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ имСнования ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ значСния ΠΊΠ»ΡŽΡ‡Π°:

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ количСство ΠΊΠ»ΡŽΡ‡Π΅ΠΉ (Π΄Π»ΠΈΠ½Ρƒ) ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ:

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π° выполняСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° delete :

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ (наличия) ΠΊΠ»ΡŽΡ‡Π° ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ:

ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΠΊΠ»Π° for. in :

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π² качСствС ассоциативного массива, Π² JSON ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ассоциативный массив, Π²Ρ‹Π²ΠΎΠ΄ Π½Π° экран ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Π§Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ нашли ΠΏΡ€ΠΎ ассоциативный массив Π½Π° Π΄Π°Π½Π½ΠΎΠΉ страницС!? ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π² коммСнтариях, ΠΌΡ‹ напишСм ΠΈ ΠΎΠ± этом!

Всё ΠΎΠ± «Π°ΡΡΠΎΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π½ΠΎΠΌ массивС Π² php»

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ассоциативный массив Π² php

ΠœΡ‹ рассматривали простыС ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы Π²ΠΈΠ΄Π°:

$arr = array(‘ΠŸΠ΅Ρ€Π²Π°Ρ’, ‘Вторая’, ‘Π’Ρ€Π΅Ρ‚ΡŒΡ’, ‘ЧСтвСртая’, ‘ΠŸΡΡ‚Π°Ρ’, ‘ΡˆΠ΅ΡΡ‚Π°Ρ’ );

Π’Π΅ΠΏΠ΅Ρ€ΡŒ посмотрим Π½Π° ассоциативный массив:

ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ ассоциативный массив :

Если ΠΌΡ‹ посмотрим Π½Π° ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ ассоциативный массив. Ρ‚ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π½Π΅Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ простым ΠΈ Π΄Π°Π½Π½Ρ‹ΠΌ массивом.

ВмСсто ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, находятся слова. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄Π°Π½Π½Ρ‹Π΅ массивы Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ «Π°ΡΡΠΎΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ».

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ самого простого Ассоциативного массив Π² php

Если Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ здСсь Π²ΠΈΠ΄ массива, Ρ‚ΠΎ:

Если Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ ассоциативного массива примСняСтся Π΄Π²Π° слова, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊ:

Π’ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ошибка Ρ‚ΠΈΠΏΠ°:

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»Π° данная ошибка ассоциативного массива, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ строку с ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ!

$Ρ†Π΅Π½Π° = array («ΠΏΠΎΠΌΠΈΠ΄ΠΎΡ€Ρ‹» => 15,

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ ассоциативного массива php

Как вывСсти ассоциативный массив Π² php Π½Π° экран!? Нам потрСбуСтся Π²Ρ‹ΡˆΠ΅ описанный массив, Π½Π΅ сам массив Π° пСрСмСнная ΠΈ функция print_r, которая смоТСт вывСсти ассоциативный массив Π½Π° экран:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹Π²ΠΎΠ΄Π° ассоциативного массива Π² php

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ «Π°ΡΡΠΎΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ массива» Π² php

Π’Ρ‹Π²ΠΎΠ΄ ассоциативного массива с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ print_r

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вывСсти ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ассоциативный массив Π½Π° экран, Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ возьмСм Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ:

«Π˜Π²Π°Π½ΠΎΠ²» => array («Ρ€ΠΎΡΡ‚» => 174, «Π²Π΅Ρ» => 68),

«ΠΠΌΠΈΠ½Π΅Π²» => array («ΠΈΠΌΡ» => ΠœΠ°Ρ€Π°Ρ‚,»Ρ€ΠΎΡΡ‚» => 178, «Π²Π΅Ρ» => 93),

«Π‘ΠΈΠ΄ΠΎΡ€ΠΎΠ²» => array («Ρ€ΠΎΡΡ‚» => 166, «Π²Π΅Ρ» => 73));

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ print_r ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ассоциативному массиву:

И Π²Ρ‹Π²Π΅Π΄Π΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ print_r с ассоциативным массивом прямо здСсь:

Как вывСсти ассоциативный массив Ρ‡Π΅Ρ€Π΅Π· Ρ†ΠΈΠΊΠ»

Π’Ρ‹Π²ΠΎΠ΄ ΠΈΠ· массива ячСйки ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ рост:

$array_keys = ( array_keys ($array ));

Как вывСсти всС ΠΊΠ»ΡŽΡ‡ΠΈ ассоциативного массива!?

ΠžΠΏΡΡ‚ΡŒ возьмСм Π²Ρ‹ΡˆΠ΅ ΠΈΠ΄ΡƒΡ‰ΠΈΠΉ ассоциативный массив ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΊ Π½Π΅ΠΌΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ array_keys :

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹Π²ΠΎΠ΄Π° всСх ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ассоциативного массива

Π’Ρ‹Π²ΠΎΠ΄ значСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° ассоциативного массива

Π­Ρ‚ΠΎ дСлаСтся ΠΎΡ‡Π΅Π½ΡŒ просто! пишСм наш ассоциативный массив, Π΄Π°Π»Π΅Π΅ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки ΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ записываСм эту Ρ„Π°ΠΌΠΈΠ»ΠΈΡŽ, ΠΈ Π½Π°ΠΌ остаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ вывСсти ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ ассоциативного массива:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ячСйки ассоциативного массива

Π’Ρ‹Π²ΠΎΠ΄ значСния ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Ρƒ ΠΊΠ»ΡŽΡ‡Π° ассоциативного массива

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹Π²ΠΎΠ΄Π° значСния ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Ρƒ ΠΊΠ»ΡŽΡ‡Π° ассоциативного массива

Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ ассоциативного массива

НС Π±ΡƒΠ΄Π΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ вСсь массив, Π²Ρ‹Π²Π΅Π΄Π΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ячСйку массива:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ измСнСния значСния ячСйки ассоциативного массива ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ

[имя] => НовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ассоциативный массив

ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅. Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ вСсь массив, Π²Ρ‹Π²Π΅Π΄Π΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ячСйку массива:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ добавлСния Π½ΠΎΠ²ΠΎΠΉ ячСйки Π² ассоциативный массив

[имя] => НовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

[Π½ΠΎΠ²Ρ‹ΠΉ_ΠΊΠ»ΡŽΡ‡] => НовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°

Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ячСйку/элСмСнт Π² ассоциативный массив

БобствСнно массив, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ возьмСм Π²Ρ‹ΡˆΠ΅. ИмСнно Π² Ρ‚Π°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅.

Π”Π°Π»Π΅Π΅ Π½Π°ΠΌ потрСбуСтся функция unset. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ Π΅Ρ‘ ΠΊ Ρ‚ΠΎΠΉ ячСйкС «Π°ΡΡΠΎΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ массива«, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ:

И Π΄Π°Π»Π΅Π΅ Π²Ρ‹Π²Π΅Π΄Π΅ΠΌ этот ΠΆΠ΅ массив с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ print_r:

РазмСстим Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ прямо здСсь ΠΈ посмотрим, Ρ‡Ρ‚ΠΎ Ρƒ нас ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ!

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ удалСния ячСйки/элСмСнта Π² ассоциативный массив

[имя] => НовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

[Π½ΠΎΠ²Ρ‹ΠΉ_ΠΊΠ»ΡŽΡ‡] => НовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°

Как ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ Π² ассоциативном массивС

Π˜Ρ‚Π°ΠΊ. ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ имя ΠΊΠ»ΡŽΡ‡Π°, Π±Π΅Π· измСнСния Π΅Π³ΠΎ значСния.

ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ΅ΠΌ ΠΊΠ»ΡŽΡ‡ массива:

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ массива, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ :

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ :

Π‘Ρ‚Π°Ρ€Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ удаляСм:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ вывСсти Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°:

Π’Ρ‹Π²Π΅Π΄Π΅ΠΌ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ массив с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ print_r($array);

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ пСрСимСновывания ΠΊΠ»ΡŽΡ‡Π° Π² ассоциативном массивС

[имя] => НовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

[Π½ΠΎΠ²Ρ‹ΠΉ_ΠΊΠ»ΡŽΡ‡] => НовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ систСмы коммСнтирования :

Π€ΠΎΡ€ΠΌΠ° ΠΏΠΎΠΊΠ° доступна Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π°Π΄ΠΌΠΈΠ½Ρƒ. скоро всС Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. надСюсь.

Π’Π°Π»Π΅Ρ€ΠΈΠΉ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ассоциативный массив

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *