PHP에서 정적 변수를 삭제하는 방법: [$temp = null]과 같이 재정의하여 삭제할 수 있습니다. unset() 함수를 사용하여 정적 변수를 삭제할 수는 없습니다. 이 함수는 지역 변수만 파괴하기 때문입니다.
PHP는 정적 변수를 설정합니다. 이 정적 변수를 삭제해야 하는 경우 unset($tmp)을 사용하여 삭제하면 다음과 같은 사항을 찾을 수 있습니다. 재귀 함수로서 내부에 정적 변수를 설정한 후 foreach()에서 이 재귀 함수를 사용해야 합니다. 이 재귀 함수가 처음 실행되면 값을 지워야 합니다. unset()을 사용해도 효과가 없으면 정보를 참조한 후 $tmp=null을 사용해야 한다는 것을 알았습니다.
(권장 튜토리얼: php 비디오 튜토리얼)
데이터 프로토타입은 배열입니다.
$data=[ '1'=>[ 'pid'=>0, 'title'=>'test1' ], '2'=>[ 'pid'=>1, 'title'=>'test2' ], '3'=>[ 'pid'=>2, 'title'=>'test3' ], ];
Unset() 사용:
function getBreadNav($data,$id,$mark=1){ static $tmp; if($mark==1){ unset(); } if(isset($data[$id])){ $tmpresult['title']=$data[$id]['title']; $tmp[]=$tmpresult; getBreadNav($data,$data[$id]['pid'],$mark=2); } return $tmp; }
변수에 null 할당:
function getBreadNav($data,$id,$mark=1){ static $tmp; if($mark==1){ $tmp=null; } if(isset($data[$id])){ $tmpresult['title']=$data[$id]['title']; $tmp[]=$tmpresult; getBreadNav($data,$data[$id]['pid'],$mark=2); } return $tmp; }
이것은 루프의 시작입니다.
for($i=0;$i<5;$i++){ getBreadNav($data,3); }
위 내용은 PHP에서 정적 변수를 삭제하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!