А как в пхп такое вот коротко записать

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Кощей,
не "возрастание двух ключей", а "по возрастанию ключей в 2х языках".
В споре побеждает внимательный, даже если неправ :)

А вообще, тупой холивар по очевидному вопросу.
Вы б еще с питоном сравнили :)
 

MiksIr

miksir@home:~$
Тупой, ага. Особо когда возникают перлы типа "модперл недавно появился" ;)
И предлагают в хеше отсортировать ключи, тогда как сортировка ключей хеша у перла внутренняя (вернее отсутствие онной... очень мешало это жить во времена моего программинга на перле). А получить отсортированный список ключей что в PHP что в перле делается двумя операторами.
И, кстати, не стоит быть уверенным, что втроенные PHP функции быстрее чем их PHP реализация ;)
Попался на глаза пример про range. Три замера: 1-й - $a = range(0,4); второй - for($i=0;$i<5;$i++) $a[$i] = $i; и 3-й тупое $a[0] = 0 ... $a[4] = 4. Результаты миллиона итераций: 1: 3.4539; 2: 3.4616; 3: 1.6369. =) Думаю, такой вот занимательной арифметики можно много найти.
 

MiksIr

miksir@home:~$
В поисках вечно, еще раз - в перловом хеше _нет_ внутренней сортировки, посему нет и аналога ksort. Это особенность реализации хеша напрямую, кстати, связанная с быстродействием доступа к произвольному ключу.
А ksort именно то и делает, что меняет внутренную сортировку массива.
 
Wicked
обшибся)
in_array

-~{}~ 25.06.08 16:01:

то есть создаём массив от 0 до 1000000
$m[]=


потом создаём случайное число от 0 до 100000

потом делаем старт в микросекрндах
цикл перебора. когда находим нужное - остановку и конец в микросекундах.
потом тоже самое но с in_array

и смотрим разницу.

-~{}~ 25.06.08 16:04:

Короче, с массивами в PHP работать удобнее. Много чего нету готового в перле.

а вот в перле есть одна незаменимая вещь, которой в PHP нет. Это метки на которые можно переходить.

-~{}~ 25.06.08 16:06:

MiksIr
В твоих замерах замерялась скорость присвоения к переменной массива числа?
Какой в этом смысл?
 

Gas

может по одной?
а вот в перле есть одна незаменимая вещь, которой в PHP нет. Это метки на которые можно переходить.
goto что ли ?

имхо, эта "незаменимая вещь" вообще сделает нереальным доработку проектов, оставленную в наследие индусами. Пожалей фрилансеров :)
 

Wicked

Новичок
Gas
+1

В поисках вечно
то есть создаём массив от 0 до 1000000
$m[]=


потом создаём случайное число от 0 до 100000

потом делаем старт в микросекрндах
цикл перебора. когда находим нужное - остановку и конец в микросекундах.
потом тоже самое но с in_array

и смотрим разницу.
создаем массив - $m[$i] = true.
потом создаём случайное число $rand от 0 до 100000.
потом делаем старт в микросекрндах.
делаем isset($m[$rand]).
конец в микросекундах.
удивляемся.
 
Wicked
Gas
была у меня задача в институте еще, которую я решал на VB. Так вот, без goto решение её не было возможным.
Wicked
смысл не в том. допустим, есть миллион разных айпи адресов.
Надо узнать, принадлежит ли текущий - списку этому.
ТО есть создаём именно
for ($i=...........100000)
$m[]=$i;

-~{}~ 25.06.08 16:53:

а вообще, надоело мне чёта тут флейм разводить. всё равно ни о чём беседа...
 

phprus

Moderator
Команда форума
В поисках вечно
была у меня задача в институте еще, которую я решал на VB. Так вот, без goto решение её не было возможным.
Если мне не изменяет память, то Дейкстра доказал, что любой алгоритм можно без goto переписать.

Главное, если и использовать goto, то только с умом 1024 раза подумав перед этим.
 

MiksIr

miksir@home:~$
В поисках вечно, просто в перле не делали функций на каждую идею, приходящую в голову. Помню, когда пришлось таки вплотную поизучать PHP поразило огромное количество функций, часть из которых редкоиспользуемая, а часть - взаимозаменяемая. Насчет in_array, есть отличная функция в перле - grep. Хочешь - регексп, хочешь - сравнение.
В твоих замерах замерялась скорость присвоения к переменной массива числа?
Какой в этом смысл?
Просто была где-то такая задача, - человеку был нужно было проинициализировать массив с соответствующими значениями. Нашласть встроенная (гы..) функция для этого, но дотошный я из академического интереса замерил скорости трех явных вариантов и немного удивился.
смысл не в том. допустим, есть миллион разных айпи адресов.
Wicked о том, что для таких проверок следует использовать хеши (ассоциативные массивы)

-~{}~ 25.06.08 17:19:

Автор оригинала: Gas
goto что ли ?

имхо, эта "незаменимая вещь" вообще сделает нереальным доработку проектов, оставленную в наследие индусами. Пожалей фрилансеров :)
Метки в перле позволяют более красиво записать то, что в php пишется как break 3; =)
 

p0is0n

Новичок
допустим, есть миллион разных айпи адресов.
Надо узнать, принадлежит ли текущий - списку этому.
ТО есть создаём именно
for ($i=...........100000)
$m[]=$i;
$ips = array_flip($ips);
isset($ips[$ip]);

:)
 
p0is0n
а можешь в цифрах сказать сколько там каждый метод?
а то самому лень

-~{}~ 27.06.08 12:43:

да и вообще, по сути, не о том первоначально было. я говорил про то, что встроенные ф-ции быстрее аналогичный, написанных на php(perl)

-~{}~ 27.06.08 12:44:

а у языка php функций для работы с массивами намного больше чем у perl
 

Фанат

oncle terrible
Команда форума
Жесть. Задача на принадлежность IP диапазону не нешается без гоуту. я сейчас разрыдаюсь.

это, по ходу, какой-то пятничный виртуал.
 

MiksIr

miksir@home:~$
В поисках вечно, без проблем while-ами ваш алгоритм записан будет... возможно без break обойтись не получится, но никаких goto тут вжисть не нажа. Но уж извините, тратить время только для того, что бы это вам доказать... мож и найдется другой какой этнузиаст ;)
а у языка php функций для работы с массивами намного больше чем у perl
Не поспоришь ;) Наверно, чем больше встроенных функций, тем круче язык ;)
я говорил про то, что встроенные ф-ции быстрее аналогичный, написанных на php(perl)
И что? Тяжелые мат вычисления для веб приложений на стороне языка программирования - это исключение.
 
Сверху