php 当array_push遇上static
PHPz
PHPz 2017-04-10 17:31:19
0
1
953
public function find_children_cat($cat_id, $data) { static $tem=array(); foreach ($data as $val) { if ( $val['parent_id'] == $cat_id ) { array_push($tem, $val['cat_id']); $this->find_children_cat($val['cat_id'], $data); } } return $tem; }

用了static array_push的值就不会出现重复,一般情况下array_push只要push相同的值就会出现重复值;
为什么用了static之后就不会出现重复值呢?

PHPz
PHPz

学习是最好的投资!

모든 응답 (1)
迷茫

具体代码没有去看,有没有重复值先不管,正常一般的函数内变量在函数结束后会释放,但当你在函数中将变量设置为staitc时,却是不会的,静态变量是存在于整个函数作用域内的,你每次调用函数的时候,该变量的值都是会保留的。

    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿
    회사 소개 부인 성명 Sitemap
    PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!