[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: массивы
Страницы: 1, 2
Игорь_Vasinsky
ну так читал бы до конца, а не то что нравится

Цитата
это всего лишь предположение.


и на тестах у меня такое было. отсюда и родилось предположение, о чём я и заявил.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
twin
Ну чего ты юлишь...
Эта фраза совсем не в том контексте была у тебя. Предположение у тебя было, что:
Цитата
возможно потому что php интерпретатор и инициализированная функция - как код садиться сразу в память или как...

А что функция быстрее работает ты заявил недвузначно. Тут же:
Цитата
функция быстрее отработает нежели просто алгоритм без обёртки.


Раз ты сказал, что
Цитата
причину не могу назвать, не вникал. просто видно было по результатам.

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


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Игорь_Vasinsky
)) ну чё мне врать то) эти все 3 фразы в одном потоке

а если взять код анологичный моей начинке - то я на 99,95 уверен - что функция быстрее будет, опять же палагаясь на предыдущих холиварах.

но тестить щас лень.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Игорь_Vasinsky
$needle = 'user4';

$array = array(
array('id'=>0, 'name'=>'user0'),
array('id'=>1, 'name'=>'user1'),
array('id'=>2, 'name'=>'user2'),
array('id'=>3, 'name'=>'user3'),
array('id'=>4, 'name'=>'user4')
);



 function in_array_recursive($needle, $array){
foreach($array as $value){
if(is_array($value))
return in_array_recursive($needle, $value);
else{
if($needle == $value)
return true;
}
}

return false;
}

var_dump(in_array_recursive($needle, $array));


результат: 0.022129058837891



foreach($array as $k=>$v){
if($v['name'] == $needle)
$result = true;
else
$result = false;
}

var_dump($result);


результат: 0.015708923339844



Да здесь видно преимущество. Но я просто сразу не обратил внимание на то что нужно отработать анологично in_array() по 2у мерному ассоц массиву.

так бы просто написал обёртку к



foreach($array as $k=>$v){
if($v['name'] == $needle)
$result = true;
else
$result = false;
}



тест проводил на 10к итераций

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.