func_get_args() passaggio parametri per indirizzo

Stato
Discussione chiusa ad ulteriori risposte.

black_devil

Utente Silver
10 Giugno 2007
75
13
3
76
Domanda :D

Se io ho una funzione tipo:
PHP:
<?php
function param();
$a = func_get_args();
foreach($a as $val) $val+=1;
?>

se io passassi i parametri alla funzione in questo modo:
PHP:
param(&$var1,&$var2,&$var3);
Il contenuto delle variabili non cambia nel main.
In poche parole viene fatto solo il passaggio delle variabili per valore e non per indirizzo.

Come posso ovviare?
 
PHP:
<?
function change_by_reference ()
{
  $trace = debug_backtrace ();
  if (array_key_exists ('args', $trace[0]))
    foreach ($trace[0]['args'] as &$k)
      $k = 'b';
}
$a = 'a';
change_by_reference (&$a);
echo $a;
?>
func_get_args () passa le variabili per valore
 
Stato
Discussione chiusa ad ulteriori risposte.