php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
[Funktion] Referenzen in Funktionen


 
Ninja64
24-08-2003, 13:51 
 
Wenn es zu diesem Thema schon einen Beitrag gibt möge man mir es vereihen ich habe allerdings keinen Gefunden
Mein Prblem ist folgendes:

$test = 1;
function test($test,&$test2){
$test2 = $test;
}
test($test,$test2);
echo $test2;

Soweit funktioniert es und gibt auch 1 aus allerdings wenn ich jetzt Referenzen benutze also $test2 =& $test; funktioniert es nicht mehr allerdings brauch ich dies für Listen. Kann mir bei diesem Problem jemand helfen ??

 
RobertTheHero
24-08-2003, 14:05 
 
Kannst du bitte noch hinzuschreiben wie du die funktion aufrufst ?

danke

rth

 
TBT
24-08-2003, 15:04 
 
$test ist eine lokale Variable, da sie nicht als Referenz übergen wird.
Diese wird nach verlassen der Funktion gelöscht, und damit zeigt
deine in der Funktion erzeugte Referenz ins Leere.

Mach mal so


function test(&$test,&$test2){
$test2 = &$test1;
}

 
Ninja64
24-08-2003, 15:36 
 
Mein Problem ist das dies nicht geht ich habe jetzt nur ein beispiel konstruiert der richtige code der laufen muss sieht folgendermaßen aus:

function nach_element_einfügen(&$anf_ptr,&$end_ptr,&$akt_ptr,$wert){
$neu['wert'] = $wert;
$neu['vor'] =& $akt_ptr;
$akt_ptr =& $neu;
if(isset($neu['vor'])){
$neu['nach'] =& $neu['vor']['nach'];
$neu['vor']['nach'] =& $neu;
if(isset($neu['nach'])){
$neu['nach']['vor'] =& $neu;
}
else{
$end_ptr =& $neu;
}
}
else{
$anf_ptr =& $neu;
$end_ptr =& $neu;
}
}


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:37 Uhr.