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介面的類的情況給忽略了。以後一定會注意。
依次為記。
php umount强制,php foreach 參數強制類型轉換的問題 | 學步園相关推荐
- java bigdecimal.valueof_java 中的大數據類型(BigInteger和BigDecimal) | 學步園
一.為什麼為用到BigInteger和BigDecimal這種數據類型呢? 我們非常清楚,java裡面整型int與浮點型float,double它們存放數據的範圍是有邊界的.那麼如果需要更大的數據時, ...
- cvcvtcolor_openCV–cvCvtColor函數 | 學步園
1.概況 cvCvtColor(...),是Opencv里的顏色空間轉換函數,可以實現RGB顏色向HSV,HSI等顏色空間的轉換,也可以轉換為灰度圖像. 參數CV_RGB2GRAY是RGB到gray, ...
- oracle 减少回表,減少oracle sql回表次數 提高SQL查詢性能 | 學步園
要寫出高效的SQL,那麼必須必須得清楚SQL執行路徑,介紹如何提高SQL性能的文章很多,這裡不再贅述,本人來談談如何從 減少SQL回表次數 來提高查詢性能,因為回表將導致掃描更多的數據塊. 我們大家都 ...
- matlab ellip,IIR濾波器設計(調用MATLAB IIR函數來實現) | 學步園
% IIR濾波器設計 % 目的:設計一個採樣頻率為1000Hz.通帶截止頻率為50Hz.阻帶截止頻率為100Hz的低通濾波器,並要求通帶最大衰減為1dB,阻帶最小衰減為60dB. clc;clear; ...
- linux svn missingargument -m,缺少參數-m在windows powershell中使用svn。
I'm trying to run this at Windows PowerShell: 我試着在Windows PowerShell中運行它: svn ci -m "" dir ...
- (转)你有所不知的HTML發佈Flash的參數(三):base
转自:http://www.luar.com.hk/flashbook/archives/001422.php 有載入外部資源的都知道,Flash相對路徑是根據它所在HTML而不是Flash自己本身, ...
- 寫一個函數計算當參數為 n(n很大) 時的值 1-2+3-4+5-6+7……+n
看到網路上一篇blog一個問題,引發一群網友的討論. Q:寫一個函數計算當參數為 n(n很大) 時的值 1-2+3-4+5-6+7--+n 這是個常見的級數問題,我們必須化簡成closed form ...
- CakePHP Pagination (分頁功能) 加入自己的參數
如果還不知道什麼是 Pagination 或者還不了解如何使用,請參考: CakePHP Pagination (分頁功能) . 通常在管理後台實作時,常設定許多查詢條件來查詢資料,比如:起始.結束時 ...
- 修改oracle 安裝參數,oracle 安裝相關參數設定
1,设置系统参数: Oracle 数据库 10g 需要以下所示的内核参数设置. 一般情况下可以设置最大共享内存为物理内存的一半,如果物理内存是 2G,则可以设置最大共享内存为 1073741824, ...
最新文章
- jquery easyui datagrid 显示外键/子属性/二层属性的值的方法
- 区块链系列4-智能合约
- Select模型原理
- 求字符串中最长无重复子序列
- ROS系统实现 tf坐标系广播与监听
- 刘强东:猪飞到天疯狂了十几秒 但摔下死得更快
- android 解决华为 SlidingMenu出现白屏
- Mysql和Oracle获取自增主键
- 安装python遇到错误_安装Python时遇到如下问题,解决方案
- SQL Server中全角和半角字符的比较问题
- 解决Glyphicons 字体不显示问题的两种解决方案
- DE4-530的OpenCL开发环境搭建
- 1400 序列分解(dfs)
- PROE_CONFIG
- Android Intent定义选择器打开相机和相册
- 给网站添加HTTPS(添加SSSL证书)
- CreateFile函数详解 不仅仅是对文件的操作 还有对系统设备的IO的操作
- java nio oio_Netty NIO transport OIO transport
- HTML、CSS学习笔记(一)
- 用python对CSV文件中的数据进行统计分析
热门文章
- 图管够!灌篮高手、女儿国…阿里日_这帮程序员太会玩了!
- 8.0/9.0 Email 设置
- fedora20 安装ror
- 把一个数据库的数据插入到另外一个数据库
- Modbus协议概念最详细介绍
- Linux内核设计的艺术
- Linux Shell 重定向到文件以当前时间命名
- Error: file not found: arch/arm/boot/compressed/piggy.lzo
- 每日一题(2)—— -2与2的比较
- python parser count_8个超实用的Python脚本,收藏备用