|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2010-01-28 10:19 UTC] neilyalowitz at gmail dot com
Description:
------------
There must be a mistake in the documentation regarding the "Produces fatal error" documented case. Docs need to be fixed, it doesn't produce a fatal error, the code block runs fine.
Reproduce code:
---------------
---
From manual page: language.references.pass
---
<?php
function bar() // Note the missing &
{
$a = 5;
return $a;
}
//begin-- I added this so the block will run
function foo($a) {
print $a;
}
//end
foo(bar()); // Produces fatal error since PHP 5.0.5 //no, it doesn't
?>
Expected result:
----------------
Docs say it should produce a fatal error.
Actual result:
--------------
Code block runs fine. No error.
Mistake in the docs.
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2026 The PHP GroupAll rights reserved. |
Last updated: Thu Oct 08 20:00:02 2026 UTC |
Ok, now I understand. I would recommend just pasting function foo() as defined above in the example given further down the page. Then the code block could be run as-is, readers could observe the error themselves, and there is no ambiguity: <?php function foo(&$var) { $var++; } function bar() // Note the missing & { $a = 5; return $a; } foo(bar()); // Produces fatal error since PHP 5.0.5 foo($a = 5); // Expression, not variable foo(5); // Produces fatal error ?>