WHILE 루프가 실행 중이며 멈추지 않습니다. while 조건을 $ x50으로 변경하면 예상 한대로 작동하지만 많은 빈 결과가 반환됩니다. 더 이상 데이터가 없으면 중단하고 싶습니다.while 루프가 조건에서 멈추지 않음
$ x = 20으로 설정하여 조건을 검사하고 $ y의 var_dump를 수행하면 NULL을 반환하므로 $ y == NULL 일 때 루프가 멈추지 않는 이유를 알 수 없습니다.
치명적인 오류 : 허용 된 메모리가 계속 소모됩니다.
$ y 변수를 문자열로 캐스팅하고 $ y! == ""및 기타 변형을 확인했지만 루프가 조건을 인식하고 중지하는 것 같지 않습니다.
도움 주셔서 감사합니다. 이와 장난 $ y를 코드의 나머지 부분과 여부에 따라해야 할 수도 있습니다
$c=1;
$x=0;
$y=$xmlobj->simpleXML->table1->Detail_Collection->Detail[$x];
while($y!==NULL){
$obj->table_data['country_' . $c] = array();
$obj->table_data['country_' . $c]['country'] = (string)$xmlobj->simpleXML->table1->Detail_Collection->Detail->{$x}['COUNTRY'];
$obj->table_data['country_' . $c]['fund_percentage'] = (string)$xmlobj->simpleXML->table1->Detail_Collection->Detail->{$x}['FUNDPCT'];
$obj->table_data['country_' . $c]['index'] = (string)$xmlobj->simpleXML->table1->Detail_Collection->Detail->{$x}['Index'];
++$x;
++$c;
}
'$ y'는 루프에서 절대로 변경되지 않으므로'while()'루프는 무한 루프입니다. – nickb
'while ($ y! == NULL)'을 사용하고 있다고 가정하고 있습니까? 이 작업은'foreach'로해야합니다 ... foreach ($ y와 $ item) {// 여기서 각 배열 항목을 사용하십시오}' – brbcoding
루프에서'$ y'를 변경하지 마십시오. 'foreach' 루프를 시도하십시오. – Jon