에 중첩 된 루프를 중단하는 데 사용시 :문제가이 코드를 실행하면 PHP
$result = mysql_query("SELECT * FROM example_table");
$i = 0;
while ($row = mysql_fetch_array($result))
{
for ($j = 0; $j < $c; $j++)
{
if ($db_array[$j]['ID'] == $row['id'])
{
$del_counter = 0;
break 2;
}
else
$del_counter = 1;
}
if ($del_counter == 1)
{
$del_array[$i] = $row['id'];
$i++;
}
}
이 두 가지 수준의 루프를 중단하지 않습니다. 대신 $ del_array는 모든 행 ID를 저장합니다. db_array [] [id]와 (데이터베이스에서 가져온) 배열 "row"를 비교해야합니다. db_array의 어떤 요소가 데이터베이스에서 삭제되었는지 확인해야합니다. 그래서, 내가 한 것은 삭제 된 항목의 ID를 배열에 저장하려고했습니다. 그러나 휴식은 효과가 없습니다. 내가 놓친 게 있니?
미리 감사드립니다. PHP 매뉴얼에 따르면 BG
중첩하기 전에 $ del_counter = 0을 정의하려고합니다. –
무례하게 들리고 싶지는 않지만, 'break 2'는 발표 된대로 작동 할 것이므로 코드에 로직 결함이 있다고 가정합니다. 스텝 디버거를 사용하여 코드가하는 일을 확인하십시오. – hakre
조금 바꾸어 주시겠습니까? 행이 삭제 된 경우 어떻게 검색합니까? – mowwwalker