Döngüsü için PHP sayfa yükleme hızını etkiler?

3 Cevap php
$categories = array("google","adobe","microsoft","exoot","yahoo");
$sql='google,exoot,adobe';//from mysql_query
$categs = explode(",",$sql);

for($x=0;$x<count($categs);$x++){
    for($y=0;$y<count($categories);$y++){
        if($categs[$x] == $categories[$y]){
            $str .= $y.",";
        }
    }
}

echo str; // 0,3,1,

Render süresini bu kod sayfasını etkileyecek mi? Ben başka hızlı yöntemler kullanarak yapabilir miyim?

Şimdiden teşekkürler.

3 Cevap

evet o bir döngü döngü vardır çünkü.

En iyi şey, dizi ile kontrol etmektir:

$categories = array("google","adobe","microsoft","exoot","yahoo");
$sql='google,exoot,adobe';//from mysql_query
$categs = explode(",",$sql);
$str = array();

foreach($categs as $id => $categs_check)
{
    if(in_array($categs_check, $categories))
    {
        //its better to put it into a array and explode it on a later point if you need it with comma.
        $str[] = $id;
    }
}

Ne yapmaya çalışıyorsun ne tam olarak emin değilim ama yukarıdaki gibi bir şey olmalı

I str_replace Tüm dizi fonksiyonları daha hızlı bir yöntem ancak başka olası çözüm olduğunu sanmıyorum:

$categories = array("google","adobe","microsoft","exoot","yahoo");
$sql='google,exoot,adobe';//from mysql_query

foreach($categories as $i=> $c) {
     $sql = str_replace($c, $i, $sql);   
}