2013-07-08 4 views
0

스크립트를 조금 최적화하고 CPU 사용량을 줄이기 위해 루프를 만들어야합니다. 이 루프에서 나는 데이터베이스에서 일부 데이터로 작업하고 아래에있는 내 현재 코드입니다 : 내가 여기에 필요한 다음 행이 존재하는지 확인하는 것입니다 무엇PHP + MySQL + CodeIgniter : 현재 행이 있는지 확인하십시오.

$result = $this->Model->function(); 
for ($i = 0; $i < $result->num_rows(); $i++) 
{ 
    echo $result->row_array($i)['row']; 
} 

은. 이 코드는 if 문에서 for 루프의 모든 코드 상단에 있지만 문제가 있습니다. for 루프에 $result->num_rows()+1을 입력하고 마지막 행 (존재하지 않음)을 에코하면 그 값은 null이 아니며 이전에는 행과 같습니다.

현재 행이 null인지 어떻게 확인합니까?

$result = $this->Model->function(); 
$y = $result->num_rows(); 
$y--; 
for ($i = 0; $i < $result->num_rows(); $i++) 
{ 
    if ($i == $y)(
     echo 'last row'; 
    ) 
    echo $result->row_array($i)['row']; 
} 

답변

1

을 또는이 아닌 부울 때마다 검사를 받으 플러스 당신은 NUM_ROWS 방법를 두 번 호출하지 않습니다 :

0

당신은 예를 들어,이 작업을 수행 할 수 있습니다

$result = $this->Model->function(); 
$y = $result->num_rows(); 
for ($i = 0; $i < $y-1; $i++) 
{   
    echo $result->row_array($i)['row']; 
} 
echo 'last row'; 
echo $result->row_array($y-1)['row']; 
관련 문제