0

コード内のループの数を減らすにはどうすればよいですか? 現在のコードはダミーの例ですが、URL からコンテンツをスクレイピングしており、データをスクレイピングするための約 6K-7K のトラバーサルが含まれているため、アプリの速度が懸念されます。

1) シンプルな PHP DOM パーサーを使用して URL からデータをスクレイピングしているため、最初の懸念は、データ (約 6K-7K の li 要素) をスクレイピングするために DOM をトラバースする方法が適切かどうか、またはfile_get_contents()適切になるかどうかです。

2)以下のコードでループの数を減らすにはどうすればよいですか、試してみましたが失敗しました-

私のコード全体

<?php
$arrunsort     = array('ab','ad','ar','cd','cb','sc','si','wa','za');
$prevLabel     = array();
$currLabelarr  = array();
$newarr        = array();
foreach( $arrunsort as $sortelem )
{
    $currLabel = substr($sortelem, 0, 1);
    if( $currLabel !== $prevLabel )
    {
        //echo '<h2>',strtoupper($currLabel),'</h2>','<br>';
        $currLabelarr[] = $currLabel;
        $prevLabel = $currLabel;
    }
}

foreach($currLabelarr as $arrkeymatch) 
{
    $newarr[$arrkeymatch] = array();
    $i = 0;
    foreach($arrunsort as $value) 
    {
        if( $arrkeymatch == (substr($value, 0, 1)) )
        {
            //echo '<li>',$value,'</li>';
            $newarr[$arrkeymatch][$i] = $value;
            $i++; 
        }   
    }
}


foreach($newarr as $key=> $val)
{
    echo "<h3>",$key,'</h3>';
    echo '<ul>';
    foreach($val as $myval)
    {
        echo '<li>',$myval, '</li>';
    }
    echo '</ul>';
}

今、ループの数を減らそうとしています-

  • foreach最後のループをコメントする
  • コメント解除echo '<h2>',strtoupper($currLabel),'</h2>','<br>';& echo '<li>',$value,'</li>';

しかし、li アイテムが下に来ています。これを解決してループを最小限に抑える方法を教えてください。

編集

その間、私はキャッシングをチェックしましたが、初心者として、それが私の場合のキャッシングの真の方法であるかどうかはよくわかりません.

4

0 に答える 0