Jump to content
php.lv forumi

while cikls un atdalīšana ar komatiem


Pentiums

Recommended Posts

Es tikko izmēģināju salīdzināt tos ātrumus:

Selektējot 10000 rindiņas, for ātrums bija apt. ~0.1 sekundes. While ātrums ~0.055 sekundes. Ja tam for ciklam mysql_num_rows iznes ārā, lai katru reizi to nepārbaudītu, tad ātrums nokritās uz 0.065 (kas tāpat ir lēnāk nekā while).

 

Nemaz nerunāsim par to, ka for izmantošana šādā veidā ir, maigi sakot, dīvaina.

Link to comment
Share on other sites

nu tas ātrums tāds relatīvs. Pārs operācijas tik atšķirās php "zemapziņā"

FOR:

salīdzina
fetčo
pieskaita +1

WHILE:

fetčo
salīdzina

PS: v3rbo variants būs visātrākais (bez papildus mainīgā $i)

Edited by Delfins
Link to comment
Share on other sites

Ja jau visi dalās, tad arī es gribu ;)

$query = "SELECT name FROM tabulina";
$kverijs = mysql_query($query);
$echojamais = '';
while($izvade = mysql_fetch_array($kverijs)){
$echojamais .= $izvade['name'] . ',';
}
echo substr($echojamais,0,-1);

Edited by Aleksejs
Link to comment
Share on other sites

Īsākais variants:

foreach($db->query('SELECT name FROM tabulina)->fetch_all(1) as $k =>$r){echo($k==0?'':', '),$r['name'];}

$db ir mysqli instance.

 

EDIT:

vēl bišku īsāks:

foreach($db->query('SELECT name FROM tabulina)->fetch_all() as $k =>$r){echo($k==0?'':', '),$r[0];}

Edited by codez
Link to comment
Share on other sites

×
×
  • Create New...