Ich denke, das das, was du machen moechtest, ziemlich unsauber ist.
Warum rufst du die Funktion nicht einfach auf und fuehrst
anschliessend ein unset() auf die Variable aus?
blubb($daten);
unset($daten);
Wenn du mit Referenzen arbeitest kannst du die Variable auch
auf false setzen. Dann ist diese zwar nicht geloescht, aber es
ist kein brauchbarer Inhalt mehr vorhanden und if-abfragen
ergeben auch ein negatives Resultat.
function blubb(&$data) {
echo $data;
$data = false;
}
$test = ‚test halt‘;
blubb($test);
if ( $test ) {
echo ‚das sollte eigentlich nicht mehr auftauchen‘;
}
Statt false kannst du auch NULL verwenden, dann wird sie ‚Genullt‘, allerdings auch nicht geloescht.
Alternativ kannst du an die Funktion auch den Namen der
Variable uebergeben und dann dynamisch auf diese Variable
zugreifen - aber wie gesagt sauberer Programmierstil ist das
nicht:
function blubb($data, $varname) {
echo $data;
unset( $_GLOBALS[$varname] );
}
$test = ‚test halt‘;
blubb($test, ‚test‘);
Eine passendere Loesung kann ich dir ohne kenntniss des
Zweckes bzw. des weiteren Codes nicht anbieten.
Bye
Stefan