我有兩個數組在php中包含自定義類對象。一個我在while循環中迭代,使用$ h,另一個我通過while循環內的另一個變量$ i訪問以進行比較。如果滿足某個條件,我只在父循環中增加$ i,並且數組中可能有多個同一對象的副本,我需要跳過該副本。php比較運算符在循環內的對象
我的代碼如下:
$h = 0;
$i = 0
$j = 10; // Number determined elsewhere but statically entered for example purposes
while ($h < $j)
{
if ($audits[$i]->id == $auditIDs[$h])
{
// Do Stuff...
do
{
$i++;
} while ($audits[$i]->id == $audits[$i+1]->id);
}
else
{
// Do stuff...
}
$h++;
}
如果我===仍然失敗更換==比較操作。然而,用簡單的IF語句代替do-while循環是可行的。
if ($audits[$i]->id == $audits[$i+1]->id)
{
$i++;
}
但是,代碼不允許爲陣,這可能會或可能不會發生在一個以上的重複的可能性,我不得不$增量I調用if語句之前手動(它必須遞增至少一次,如果前面的if語句的結果爲真)。
任何人都可以瞭解一些情況嗎?我感謝幫助!
class auditItem
{
public $login;
public $points;
public $date;
public $onTime;
public $name;
public $id;
public $msg;
function auditItem($login, $points, $date, $name, $id, $msg)
{
$this->login = $login;
$this->points = $points;
$this->date = $date;
$this->name = $name;
$this->id = $id;
$this->msg = $msg;
}
}
我更新了問題以包含您的課程。 –
你的評論讓我想到了越界 - 我只是在if語句中包含了do-while循環if ifset isset($ audits [$ i + 1])){}' 現在它的工作很精美。謝謝gluxon! –
很高興幫助!很高興知道我有點接近;) – gluxon