电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

PHP基礎之引用的解釋2——引用傳遞和返回

瀏覽:102日期:2022-09-15 09:57:40
引用傳遞

可以將一個變量通過引用傳遞給函數,這樣該函數就可以修改其參數的值。語法如下:

<?php function foo(&$var) {$var++; } $a=5; foo($a); // $a is 6 here?>

注意在函數調用時沒有引用符號——只有函數定義中有。光是函數定義就足夠使參數通過引用來正確傳遞了。在最近版本的 PHP 中如果把 & 用在 foo(&$a); 中會得到一條警告說“Call-time pass-by-reference”已經過時了。

以下內容可以通過引用傳遞:

變量,例如 foo($a)New 語句,例如 foo(new foobar())從函數中返回的引用,例如:

<?php function &bar() {$a = 5;return $a; } foo(bar());?>

任何其它表達式都不能通過引用傳遞,結果未定義。例如下面引用傳遞的例子是無效的:

<?php function bar() // Note the missing & {$a = 5;return $a; } foo(bar()); // 自 PHP 5.0.5 起導致致命錯誤 foo($a = 5) // 表達式,不是變量 foo(5) // 導致致命錯誤?>

這些條件是 PHP 4.0.4 以及以后版本有的。

引用返回

引用返回用在當想用函數找到引用應該被綁定在哪一個變量上面時。不要用返回引用來增加性能,引擎足夠聰明來自己進行優化。僅在有合理的技術原因時才返回引用!要返回引用,使用此語法:

<?php class foo {public $value = 42;public function &getValue() { return $this->value;} } $obj = new foo; $myValue = &$obj->getValue(); // $myValue is a reference to $obj->value, which is 42. $obj->value = 2; echo $myValue; // prints the new value of $obj->value, i.e. 2.?>

本例中 getValue 函數所返回的對象的屬性將被賦值,而不是拷貝,就和沒有用引用語法一樣。

Note: 和參數傳遞不同,這里必須在兩個地方都用 & 符號——指出返回的是一個引用,而不是通常的一個拷貝,同樣也指出 $myValue 是作為引用的綁定,而不是通常的賦值。

Note: 如果試圖這樣從函數返回引用:return ($this->value);,這將不會起作用,因為在試圖返回一個表達式的結果而不是一個引用的變量。只能從函數返回引用變量——沒別的方法。如果代碼試圖返回一個動態表達式或 new 運算符的結果,自 PHP 4.4.0 和 PHP 5.1.0 起會發出一條 E_NOTICE 錯誤。

標簽: PHP
相關文章:
主站蜘蛛池模板: 档案密集柜_手动密集柜_智能密集柜_内蒙古档案密集柜-盛隆柜业内蒙古密集柜直销中心 | 壹作文_中小学生优秀满分作文大全 | 房间温控器|LonWorks|海思 | 模切之家-专注服务模切行业的B2B平台! | 航空障碍灯_高中低光强航空障碍灯_民航许可认证航空警示灯厂家-东莞市天翔航天科技有限公司 | 老房子翻新装修,旧房墙面翻新,房屋防水补漏,厨房卫生间改造,室内装潢装修公司 - 一修房屋快修官网 | 尼龙PA610树脂,尼龙PA612树脂,尼龙PA1010树脂,透明尼龙-谷骐科技【官网】 | 杭州实验室尾气处理_实验台_实验室家具_杭州秋叶实验设备有限公司 | LOGO设计_品牌设计_VI设计 - 特创易 | 派克防爆伺服电机品牌|国产防爆伺服电机|高低温伺服电机|杭州摩森机电科技有限公司 | 海日牌清洗剂-打造带电清洗剂、工业清洗剂等清洗剂国内一线品牌 海外整合营销-独立站营销-社交媒体运营_广州甲壳虫跨境网络服务 | 包装盒厂家_纸盒印刷_礼品盒定制-济南恒印包装有限公司 | 华中线缆有限公司-电缆厂|电缆厂家|电线电缆厂家 | 空调风机,低噪声离心式通风机,不锈钢防爆风机,前倾皮带传动风机,后倾空调风机-山东捷风风机有限公司 | 不锈钢/气体/液体玻璃转子流量计(防腐,选型,规格)-常州天晟热工仪表有限公司【官网】 | 微妙网,专业的动画师、特效师、CG模型设计师网站! - wmiao.com 超声波电磁流量计-液位计-孔板流量计-料位计-江苏信仪自动化仪表有限公司 | 布袋式除尘器|木工除尘器|螺旋输送机|斗式提升机|刮板输送机|除尘器配件-泊头市德佳环保设备 | 蓝鹏测控平台 - 智慧车间系统 - 车间生产数据采集与分析系统 | 电线电缆厂家|沈阳电缆厂|电线厂|沈阳英联塑力线缆有限公司 | 安德建奇火花机-阿奇夏米尔慢走丝|高维|发那科-北京杰森柏汇 | 磁棒电感生产厂家-电感器厂家-电感定制-贴片功率电感供应商-棒形电感生产厂家-苏州谷景电子有限公司 | 胶水,胶粘剂,AB胶,环氧胶,UV胶水,高温胶,快干胶,密封胶,结构胶,电子胶,厌氧胶,高温胶水,电子胶水-东莞聚力-聚厉胶粘 | 馋嘴餐饮网_餐饮加盟店火爆好项目_餐饮连锁品牌加盟指南创业平台 | 医学动画公司-制作3d医学动画视频-医疗医学演示动画制作-医学三维动画制作公司 | 济南玻璃安装_济南玻璃门_济南感应门_济南玻璃隔断_济南玻璃门维修_济南镜片安装_济南肯德基门_济南高隔间-济南凯轩鹏宇玻璃有限公司 | 玉米深加工机械,玉米加工设备,玉米加工机械等玉米深加工设备制造商-河南成立粮油机械有限公司 | 杭州画室_十大画室_白墙画室_杭州美术培训_国美附中培训_附中考前培训_升学率高的画室_美术中考集训美术高考集训基地 | 美国PARKER齿轮泵,美国PARKER柱塞泵,美国PARKER叶片泵,美国PARKER电磁阀,美国PARKER比例阀-上海维特锐实业发展有限公司二部 | 钛板_钛管_钛棒_钛盘管-无锡市盛钛科技有限公司 | 电动葫芦-河北悍象起重机械有限公司| 根系分析仪,大米外观品质检测仪,考种仪,藻类鉴定计数仪,叶面积仪,菌落计数仪,抑菌圈测量仪,抗生素效价测定仪,植物表型仪,冠层分析仪-杭州万深检测仪器网 | 物联网卡_物联网卡购买平台_移动物联网卡办理_移动联通电信流量卡通信模组采购平台? | 透平油真空滤油机-变压器油板框滤油机-滤油车-华之源过滤设备 | 智能汉显全自动量热仪_微机全自动胶质层指数测定仪-鹤壁市科达仪器仪表有限公司 | 精雕机-火花机-精雕机 cnc-高速精雕机-电火花机-广东鼎拓机械科技有限公司 | 污水处理设备-海普欧环保集团有限公司 | 发电机组|柴油发电机组-批发,上柴,玉柴,潍柴,康明斯柴油发电机厂家直销 | 干粉砂浆设备-干粉砂浆生产线-干混-石膏-保温砂浆设备生产线-腻子粉设备厂家-国恒机械 | 餐饮小吃技术培训-火锅串串香培训「何小胖培训」_成都点石成金[官网] | 流量检测仪-气密性检测装置-密封性试验仪-东莞市奥图自动化科技有限公司 | 专注提供国外机电设备及配件-工业控制领域一站式服务商-深圳市华联欧国际贸易有限公司 |