PHP使用变量引用实现先使用后赋值

技术文档 - PHP文档 作者: xcheng1986 发布于:2017-07-11 阅读(64) (暂无评论)  

一般情况下,变量需要先赋值再使用,但是在一些另类的情形下,需要先使用后来赋值,
例如下面:
<?php
class test
{
	public function run()
	{
		
		//uid初始化
		$uid = 0;
		
		//uid使用
		$user = [];
		$user['detail'] = $this->get_user_detail($uid);
		$user['employment'] = $this->get_user_employment($uid);
		
		//uid赋值
		$uid = 123456;
		
		print_r($user);
	}
	
	private function get_user_detail(&$uid){
		return [
			'uid'=>&$uid,
			'name'=>'zhangsan',
			'sex'=>'male',
		];
	}
	
	private function get_user_employment(&$uid){
		return [
			'uid'=>&$uid,
			'company_name'=>'ggt',
			'tel'=>'010-87654321',
		];
	}

}

$test = new test();
$test -> run();
运行后显示:
Array
(
    [detail] => Array
        (
            [uid] => 123456
            [name] => zhangsan
            [sex] => male
        )

    [employment] => Array
        (
            [uid] => 123456
            [company_name] => ggt
            [tel] => 010-87654321
        )

)