閱讀783 返回首頁    go 阿裏雲 go 技術社區[雲棲]


PHP引用操作以及外部操作函數的局部靜態變量的方法

通過引用方式在外部操作函數或成員方法內部的靜態變量

下麵舉個簡單的例子,說明三個關於引用方麵的問題:

1. 參數引用後函數內進行類型轉換同樣是地址操作

2. 參數引用後再傳遞給其他函數時需要再次添加引用符才能保持地址操作

3. 函數返回值引用必須在函數申明時以及調用時都添加引用操作符


該例子使用的是對象方法的操作,同樣適用於函數

<?php
class A {
	public function & test1(& $a) {
		static $i = 0;
		var_dump($i);
		$a = (array) $a;
		$a['domain'] = 'https://blog.csdn.net/zhouzme';
		$this->test2($a);
		$i++;
		var_dump($a);
		var_dump($i);
		return $i;
	}

	protected function test2(& $a) {
		$a['name'] = '蝸牛';
	}
}

$obj = new A();
$a = '';
$c = & $obj->test1($a);
$c++;
var_dump($a);
$obj->test1($a);
var_dump($a);


輸出的結果







最後更新:2017-04-03 05:39:40

  上一篇:go POJ-3262-Protecting the Flowers
  下一篇:go Working With Code Snippets In Sublime Text