PHP / Pointer返回null

时间:2014-02-01 12:27:54

标签: php pointers

我正在使用php 5.4和CodeIgniter 2.1开发应用程序(但我认为这严格来说是一个php问题)。我期待返回一个指向stdClass的指针,但我收到一个空值。

$this->myLittleTest($myLittlePointer);
  // displays "NULL"
echo(gettype($myLittlePointer));
...

function myLittleTest(&$myPtr){
  $myPtr = &$this->myLittleClass->myLittleArrayOfStdClasses[0];
     // displays "object"
  echo(gettype($myPtr));
}

是否存在导致指针返回null的范围问题?谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

通过引用分配引用,您将破坏第一个引用。只需通过=分配,而不是=&

function foo(&$bar) {
    $val = 'baz';
    $bar = $val;
}

foo($bar);
var_dump($bar);

请注意,引用不是指针。你没有处理内存地址指针,PHP没有这样做。引用只允许您分配符号表别名,仅此而已。