Проверить ассоцативный ли массив

Michael_X

Новичок
zip111
а foreach не подойдет? ключ то можно проверить на то, что это "число" или "не число"... помоему самый простой способ...
 

MiksIr

miksir@home:~$
Массив неассоциативный, если там все ключи - цифры, первый ключ ноль, далее все ключи увеличиваются на единицу и нет пропусков и других ключей. Только в этом случае можно допустить, что масссив похож на неассоциативный. Одна из идей проверки - присвоить значения (без ключей) второму массиву, а потом эти два массива сравнить.
 

dimagolov

Новичок
MiksIr, ты разжевал то, что ***** написал во 2-м сообщении топика - все массивы ассоциативные, те, которые якобы "неассоцативны", просто очень частный случай ассоциативных.
из этого следует что задача поставленная ТС смысла не имеет.
 

MiksIr

miksir@home:~$
От того, что в _PHP_ это случай частный, проблема отделения этого частного случая от других иных не пропадает.
 

Breeze

goshogun
Команда форума
Партнер клуба
MiksIr

если не доводить до этого, то и проблема не возникает.
в любом случае это ошибка "проектирования"
 

SiMM

Новичок
Pigmeich> Это такой алиас
Это заблуждение
PHP:
$array = array(1=>'test');
$array[sizeof($array)] = 'blablabla';
print_r($array);
-~{}~ 03.11.07 01:38:

> От того, что в _PHP_ это случай частный, проблема отделения этого частного случая от других иных не пропадает.
Проблема надуманная, а надуманные проблемы не имеют смысла и их здесь не решают.
 

MiksIr

miksir@home:~$
Breeze, т.е. в считаете, что языки, где жестко разделены массивы и хешы - изначально неверные и ошибочные?

> Проблема надуманная, а надуманные проблемы не имеют смысла и их здесь не решают.
Перефразируя Пруткова - Некоторые вещи нам непонятны не потому, что наши понятия слабы, а потому что не в ходят в круг наших понятий.
Т.е. если у Вас такая проблема не стояла - это не значит, что она надумана.
 

SiMM

Новичок
> Т.е. если у Вас такая проблема не стояла - это не значит, что она надумана.
Автор топика не способен внятно объяснить, зачем ему это понадобилось - так что вполне вероятно, что проблема надуманна.
 

Pigmeich

Новичок
SiMM
да я понимаю, просто ведь у человека в массиве был минимум один нечисловой ключ - у него и прокатывало.
 

Breeze

goshogun
Команда форума
Партнер клуба
MiksIr

Я считаю, что изначально неверно, ошибочно выбран способ реализации задачи, если такая проблема, как проблема типа массива, вообще возникла.

Языки как таковые тут не при чем и речь не о них.

Вопрос вне зачета: Что мешает в php сделать "свой тип данных" и через заданный интерфейс с этим "типом" работать?
 

zip111

Новичок
Вопрос вне зачета: Что мешает в php сделать "свой тип данных" и через заданный интерфейс с этим "типом" работать?
А не лишний ли это гемморой на попу? Если можно все таки проверять значение.

Автор топика не способен внятно объяснить, зачем ему это понадобилось - так что вполне вероятно, что проблема надуманна.
То, для чего мне это необходимо, я вполне ясно объяснил. А если мое видение решения вопроса пошло не совсем в то русло - можно было об этом сказать, а не расписывать тут в стиле "быть, или не быть".

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

Пара более-менее дельных советов была дана
Michael_X
а foreach не подойдет? ключ то можно проверить на то, что это "число" или "не число"... помоему самый простой способ...
и еще более простой:
Pigmeich
а ещё можно array_merge использовать...
за что и спасибо.
 

Breeze

goshogun
Команда форума
Партнер клуба
А не лишний ли это гемморой на попу?
в таком случае все программирование -- геморрой. вечно эти программисты понапридумывают, а ты после них разгребай.
 

diamond_krnl

pure-php
PHP:
echo (array_values($a)==$a ? "list array" : "hash array");
не шустро работать будет но верно.
 

iceman

говнокодер
явоскриптов или ВБскриптом определи его внутрений IP

и забань так: внешний IP:Внутренний IP; если не передается внутренний IP, то запрети доступ на сайт )

а ваще банить по ИП - это тупость, на своем опыте понял это!... бань его аккуант
 

Beavis

Banned
iceman
во первых ты промахнулся темой, а во вторых расскажи как яваскриптом определить IP ?
 
Сверху