php umount强制,php foreach 參數強制類型轉換的問題 | 學步園

所以,為了防止這樣的信息出現,我使用foreach的時候,都會把參數進行強制類型轉換,形勢如下:

foreach((array)$arr as $key => $value);

這樣做一直相安無事,就在前幾天,突然出現了問題。我強制類型轉換以後不能正常的調用object的方法了。

複製代碼 代碼如下:

class service implements Iterator{

function __construct($service_define,$filter=null){

$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介面的類的情況給忽略了。以後一定會注意。

依次為記。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/475855.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 438. 找到字符串中所有字母异位词(滑动窗口)

1. 题目 给定一个字符串 s 和一个非空字符串 p,找到 s 中所有是 p 的字母异位词的子串,返回这些子串的起始索引。 字符串只包含小写英文字母,并且字符串 s 和 p 的长度都不超过 20100。 说明: 字母异位词指字母相同&#xff0c…

Linux CPU 信息查看

我们可以用/proc/cpuinfo 查看CPU 的信息。 该文件包含系统上每个处理器的数据段落。/proc/cpuinfo 描述中有 6 个条目适用于多内核和超线程(HT)技术检查:processor, vendor id, physical id, siblings, core id 和 cpu cores。 (…

php 函数封装上传,PHP(多)文件上传实现和函数封装

一、PHP 文件上传的相关知识对 PHP 文件上传的相关知识总结主要是参考老师演示的代码和 drawer.php(某大神写的 PHP 单文件版的服务器文件管理端)1. php 关于文件上传的配置文件上传项目项在php.ini中设置,常用的配置项有:序号配置项默认值描述1file_uploadsOn使 PHP 支持文件上…

LeetCode 467. 环绕字符串中唯一的子字符串(思维转换)

1. 题目 把字符串 s 看作是“abcdefghijklmnopqrstuvwxyz”的无限环绕字符串,所以 s 看起来是这样的:"…zabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcd…". 现在我们有了另一个字符串 p 。 你需要的是找出 s 中有多少个唯一的…

Request.Params[CategoryID]

从页面的QueryString 、Form、Cookies、ServerVariables 里检索名称为“CategoryID”的值。优先级顺序为QueryString > Form > Cookies > ServerVariables转载于:https://www.cnblogs.com/wangzhexiaoyan/archive/2010/11/03/1868567.html

matlab记录路径,matlab对文件目录路径的操作

1、 filesep用于返回当前平台的目录分隔符,Windows是反斜杠(\),Linux是斜杠(/)。2、 fullfile用于将若干字符串连接成一个完整的路径。例如:>> ffullfile(D:,Matlab,example.txt)fD:\Matlab\example.txt(在Windows中&…

LeetCode 457. 环形数组循环(暴力+快慢指针)

文章目录1. 题目2. 解题2.1 暴力解题2.2 快慢指针1. 题目 给定一个含有正整数和负整数的环形数组 nums。 如果某个索引中的数 k 为正数,则向前移动 k 个索引。相反,如果是负数 (-k),则向后移动 k 个索引。 因为数组是环形的,所以…

SQLite外键

SQLite外键(Foreign Key)支持 从SQLite 3.6.19 开始支持 外键约束. (Ubuntu 10.04 的SQLite版本是 3.6.22, Debian 6.0 的SQLite版本是 3.7.0) 外键约束用来强制 两个表之间”存在”的关系. 比如, 考虑下面的SQL命令建立的schema CREATE TABLE artist(artistid INTEGER PRIMA…

帝国cms搜索php分页,帝国cms V7.2自定义分页(列表分页,内容分页)样式步骤

【1】自己修改帝国cms默认的分页样式(css),这样做的好处是你不用去改动帝国的核心文件,方便以后升级。【2】自己动手去修改帝国的分页(phpcss),帝国的分页在e>class>下的t_functions.php这个文件里。列表页模板[!--show.page--]:分页导…

LeetCode 435. 无重叠区间(贪心/动态规划)

文章目录1. 题目2. 解题2.1 贪心2.2 动态规划1. 题目 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 示例…

UDP广播包的研究

一直以来听的多了,什么UDP广播之类的,不过自己一直没有试验过,这次闲来无聊,于是测试了一下。网上说的其实并不是非常的正确,流传着不少的错误言论,这次自己动手测试了一下,没想到比我想象中的还…

php传递字符串给python,用PHP和Python生成短链接服务的字符串ID

假设你想做一个像微博短链接那样的短链接服务,短链接服务生成的URL都非常短例如: http://t.cn/E70Piib, 我们应该都能想到链接中的E70Piib对应的就是存储长链接地址的数据记录的ID,可是这个有大小写字母和数字构成的唯一ID是怎么生成的呢,刚学…

LeetCode 433. 最小基因变化(广度优先搜索)

1. 题目 一条基因序列由一个带有8个字符的字符串表示,其中每个字符都属于 “A”, “C”, “G”, "T"中的任意一个。 假设我们要调查一个基因序列的变化。一次基因变化意味着这个基因序列中的一个字符发生了变化。 例如,基因序列由"AAC…

JCP执行委员会新成员选举结果揭晓:Hologic未获通过

转载于:https://www.cnblogs.com/mixer/archive/2010/11/09/2448777.html

matlab fig生成exe,MATLAB GUI多个m文件和fig如何生成exe文件

+文件。命令的格式为:mcc[-option]fun[fun2...][mexfile1.....+文件。命令的格式为:mcc[-option]fun[fun2...][mexfile1.....function start_Callback(hObject, eventdata, handle...你的意思是:多个m文件导成一个吗&a…

Eclipse 编写代码自动提示设置

很多人不知道Eclipse如何开启代码助手的自动提示功能,只是使用Eclipse默认的输入了“.”之后才会出现提示。实际上可以输入任何字符的时候都可以给出提示。 设置如下: 打开 Eclipse -> Window -> Perferences,会打开个Perferences 的设置界面。 打…

LeetCode 436. 寻找右区间(二分查找)

1. 题目 给定一组区间,对于每一个区间 i,检查是否存在一个区间 j,它的起始点大于或等于区间 i 的终点,这可以称为 j 在 i 的“右侧”。 对于任何区间,你需要存储的满足条件的区间 j 的最小索引,这意味着区…

老鼠走迷宫php算法,C语言经典算法 - 老鼠走迷官(一)

C语言经典算法 - 老鼠走迷官(一)说明老鼠走迷宫是递回求解的基本题型,我们在二维阵列中使用2表示迷宫墙壁,使用1来表示老鼠的行走路径,试以程式求出由入口至出口的路径。解法老鼠的走法有上、左、下、右四个方向,在每前进一格之后…

LeetCode 491. 递增子序列(回溯+判重剪枝)

1. 题目 给定一个整型数组, 你的任务是找到所有该数组的递增子序列,递增子序列的长度至少是2。 示例: 输入: [4, 6, 7, 7] 输出: [[4, 6], [4, 7], [4, 6, 7], [4, 6, 7, 7], [6, 7], [6, 7, 7], [7,7], [4,7,7]]说明: 给定数组的长度不会超过15。 数组中的整数范…

[网络收集]Web.config配置文件详解

摘录自:http://hi.baidu.com/fanfanwuji/blog/item/a7fd8928d49a7ef098250a06.html 花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法。很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点。所以这里只介绍一些比较…