2017-01-23 2 views
-1
foreach($db->bigQuery() as $i => $d) { 
    // more code 
} 

// OR  

$big_data = $db->bigQuery(); 
foreach($big_data as $i => $d) { 
    // more code 
} 
  • Какая разница в производительности?
  • Есть ли разница в больших данных?
  • Какая разница в будущем коде?
  • Существует ли какая-то лучшая практика?

EDIT: ЭкспериментЧто лучше подходит

function experiment() { 

    echo 'experiment'."\n"; 

    return array('1' => '1', 
       '2' => '2', 
       '3' => '3', 
       '4' => '4', 
       '5' => '5', 
       '6' => '6'); 
} 

foreach(expetiment() as $i => $d) { 
    echo $i.'-'.$d."\n"; 
} 

Возвращает

experiment 
1-1 
2-2 
3-3 
4-4 
5-5 
6-6 

Результат: функция experiment() вызывается только один раз.

+0

Ницца, если вы не знаете, вы всегда можете опуститься вниз .. thx – Martin

+1

У вас есть нисходящая линия, потому что вы могли бы ответить на этот вопрос самостоятельно. Чтобы кто-то мог ответить на этот вопрос, этот человек должен выполнять эту работу вместо вас. Функционально нет никакой разницы. Следовательно, не будет никакой разницы в производительности. Информация будет буферизироваться внутри PHP, поэтому выбор цикла не имеет значения. Итак, я бы предположил, что вместо того, чтобы прыгать на неизвестного спутника, вы сосредоточены на том, чтобы сделать свой вопрос лучше. Как это, это действительно не хорошо. Примечание. Я не спустил вас вниз. Надеюсь, мой комментарий поможет. – Mjh

ответ

0

я предпочел использовать второй .... Так призвание Еогеаспа и это каждый раз, когда тот же

Этот маленький пример показывает некоторой неожиданной вещь

<?php 
    function dotest() { 
     echo "go"; 
     return 4; 
    } 
    for($i=0; $i < dotest(); $i++) { 

    } 
    die; 
    ?> 

как вы видите .. . функция будет выполняться 5 раз в для функции

ПРАВКА ВАШЕГО ТЕСТА

но только один раз в foreach функция.

+0

это не правда "вызов foreach и для каждого раза тот же" см. Обновленный вопрос – Martin

+0

извините за мой плохой английский ... я хотел произвести впечатление, что это для меня тот же процесс кодирования ... для создания переменной и затем используйте его в функции – donald123

+0

Я думаю, что хорошо понимаю, см. мой эксперимент – Martin

Смежные вопросы