自适应网站如何做mip,网站首页推荐,做水果的网站有哪些,学雷锋 做美德少年网站所以#xff0c;為了防止這樣的信息出現#xff0c;我使用foreach的時候#xff0c;都會把參數進行強制類型轉換#xff0c;形勢如下#xff1a;foreach((array)$arr as $key $value);這樣做一直相安無事#xff0c;就在前幾天#xff0c;突然出現了問題。我強制類…所以為了防止這樣的信息出現我使用foreach的時候都會把參數進行強制類型轉換形勢如下foreach((array)$arr as $key $value);這樣做一直相安無事就在前幾天突然出現了問題。我強制類型轉換以後不能正常的調用object的方法了。複製代碼 代碼如下:class service implements Iterator{function __construct($service_define,$filternull){$this-iterator new ArrayIterator($service_define[list]);$this-filter $filter;$this-valid();}function current(){return $this-current_object;}public function rewind() {$this-iterator-rewind();}public function key() {return $this-iterator-current();}public function next() {return $this-iterator-next();}public function valid() {while($this-iterator-valid()){if($this-filter()){return true;}else{$this-iterator-next();}};return false;}private function filter(){$current $this-iterator-current();if($current){$this-current_object new Sameple($current);if($this-current_object){return true;}}return false;}}class Sameple{var $class_name;function __construct($class_name null) {$this-class_name $class_name;}function show(){echo $this-class_name,;}}$servicelist array(list array(first,second,third,fourth,),);$ser new service($servicelist);foreach ($ser as $s) {$s-show();}/*//執行報錯的代碼 使用了將$ser執行強制類型轉換操作foreach ((array)$ser as $s) {$s-show();}*/之所以出現這樣的問題就是foreach不但可以遍曆數組還可以遍歷實現了Iterator介面的類。我以前只注意到了數組的情況把實現了Iterator介面的類的情況給忽略了。以後一定會注意。依次為記。