- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
/**
* custom_field_sort_func is the function that compares 2 arrays and determines the order, used by custom_field_sort
*/
function custom_field_sort_func($a, $b=NULL) {
static $keys;
if($b===NULL)
return $keys = $a;
foreach($keys as $k)
{
return strcmp(@$a['custom_field'][$k], @$b['custom_field'][$k]);
}
return 0;
}
zabuhailo 14.12.2010 15:51 # +1
Uchkuma 14.12.2010 17:19 # +7
Yanovsky 14.12.2010 18:47 # +1
Lure Of Chaos 14.12.2010 20:09 # +1
bugmenot 14.12.2010 20:45 # +1
Lure Of Chaos 14.12.2010 21:49 # +1
inkanus-gray 14.12.2010 22:10 # +3
Автор ГК придумал такую инновацию, а Вы так прозаически... Нет пророка в своём отечестве, не признают современники гениев!
Анонимус 14.12.2010 22:14 # +1
наверное это нанопхп из сколкова
inkanus-gray 14.12.2010 22:16 # +2
telnet 14.12.2010 22:28 # +1
brainstorm 14.12.2010 23:57 # +1
пrавославно, воистену
bugmenot 14.12.2010 22:28 # 0
Int 14.12.2010 23:19 # +2
Феноменально! Хочу пожать руку автору.
zabuhailo 15.12.2010 09:27 # +1
В комменте утверждается, что функция сравнивает 2 массива, и при том второй аргумент по умолчанию NULL.
Безусловный return из foreach - выше всяческих похвал. )))
При первом обращении (и возможно дальше тоже, смотря какие будут вызовы) и $b НЕ равным NULL, статическая переменная $keys будет иметь значение NULL (её ведь не инициализировали при объявлении). Далее последует foreach($keys as $k), что нужно читать как foreach(NULL as $k) - круто!
Помимо прочего порадовали '@' в аргументах strcmp(). В конечном итоге получается, что вообще всё равно что с чем сравнивается, лишь бы просто выполнить код и хэ с ним.
Мартин 16.12.2010 15:53 # +1
zabuhailo 17.12.2010 17:10 # 0