0

私はこれをほとんど行うコードを持っています.....

//get the row info
$Row1 = $FullTable->find('div[class=ismPitchRow1]',0);  
$Row2 = $FullTable->find('div[class=ismPitchRow2]',0);  
$Row3 = $FullTable->find('div[class=ismPitchRow3]',0);  
$Row4 = $FullTable->find('div[class=ismPitchRow4]',0);  
$Row5 = $FullTable->find('div[class=ismPitchRow5]',0);  

//Loop 5 times. One for each row on the pitch.
for ($i=1; $i<=5; $i++)
    {
    if ($i = 1) { echo $Row1; }
    if ($i = 2) { echo $Row2; }  
    if ($i = 3) { echo $Row3; }
    if ($i = 4) { echo $Row4; }
    if ($i = 5) { echo $Row5; }
    }

それは機能しますが、ご覧のとおり、あまり効率的ではなく、設計も不十分です。これを単純化するにはどうすればよいですか?私は、これらの種類のループを実行できるはるかに小さな方法があることを知っています。

ありがとう。

4

2 に答える 2

1

アレイの優れた発明を使用します。

//get the row info
$Row[1] = $FullTable->find('div[class=ismPitchRow1]',0);  
$Row[2] = $FullTable->find('div[class=ismPitchRow2]',0);  
$Row[3] = $FullTable->find('div[class=ismPitchRow3]',0);  

または、さらに賢い...

for ($i = 1; $i <= 5; $i++) {

    $find = "div[class=ismPitchRow$i]"; 
    $Row[$i] = $FullTable->find($find,0);

}

エコーについても同じようにします。

for ($i = 1; $i <= 5; $i++) {

    echo $Row[$i];

}

しかし、なぜすべてを1つのループで実行しないのですか?

for ($i = 1; $i <= 5; $i++) {

    $find = "div[class=ismPitchRow$i]"; 
    echo $FullTable->find($find,0);

}
于 2013-03-26T00:41:57.303 に答える
1

に保存$Row1$Row5arrayforeachループで繰り返します。

<?php
$YourArray = array(); 

array_push($YourArray,$FullTable->find('div[class=ismPitchRow1]',0),$FullTable->find('div[class=ismPitchRow2]',0),$FullTable->find('div[class=ismPitchRow3]',0),$FullTable->find('div[class=ismPitchRow4]',0),$FullTable->find('div[class=ismPitchRow5]',0));



foreach($YourArray as $row){
echo $row;
}
?>
于 2013-03-26T00:42:46.823 に答える