On 29 June 2011 15:53, Pascal COURTOIS <pascal.court...@nouvo.com> wrote:
> Hi,
>
> Is there any way that a variable can be changed within a function without 
> passing it by reference ?
>
> I have a code like that:
>
> function myfunction($var)
> {
>
>  <some code>
>  print_r($var); => prints $var which is an object
>  anotherfunction($var);  // call by value
>  print_r($var); => $var has changed
>
> }
>
>
> I thought that since there's no reference in any way to the variable it 
> cannot be changed in the function. Am I wrong ?

For variables ...

<?php
$variable = 'rock';

function paper() {
        global $variable;
        $variable = __FUNCTION__;
}

function sissors() {
        $GLOBALS['variable'] = __FUNCTION__;
}

echo $variable, PHP_EOL;
paper();
echo $variable, PHP_EOL;
sissors();
echo $variable, PHP_EOL;
?>

For objects, $var is always an alias to an object identifier which
points to the same object...

http://docs.php.net/manual/en/language.oop5.references.php



-- 
Richard Quadling
Twitter : EE : Zend : PHPDoc
@RQuadling : e-e.com/M_248814.html : bit.ly/9O8vFY : bit.ly/lFnVea

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to