php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.08.2005, 17:55  
Gast
 
Beiträge: n/a
Standard Werden lokale Variablen mit "return $x;" zu global

Ja, also die Frage steht eigentlich schon in der Überschrift.
Theoretisch müsste eine lokale Variable, die mit return von einer Funktion zurückgegeben wird doch dann global sein, oder?

Dann hab ich noch ein Problem:

Stellt euch folgendes vor:
Code:
<?php
$x="0";
$y="0";
?>
<html>
<body>
<form action=""<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<textarea...><?php echo htmlspecialchars($_REQUEST[$x]); ?></textarea>
<textarea...><?php echo htmlspecialchars($_REQUEST[$y]); ?></textarea>...
und ich bekomme bei Ausführen dieses Formulars den Error undefined index in der Zeile, wo ich $x bzw. $y aufrufe. Warum?
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.08.2005, 18:14  
Erfahrener Benutzer
 
Registriert seit: 29.10.2004
Beiträge: 1.781
derHund
Standard

ich verstehe deine frage nicht, antworte aber vorbeugend mal mit: nein!
__________________
derHund ist offline  
Alt 04.08.2005, 18:23  
Gast
 
Beiträge: n/a
Standard

1. Was hat das script mit return zu tun??
2. Zweitns steht in $_REQUEST[$x] das, was du über ein Formular an das Script gesendet wurde, was in einen Feld namens "0" stand. Wurde nichts gesendet bzw. es gab im Formular kein Feld "0", dann ist der der Eintrag des Arrays $_REQUEST undifiniert.
 
Alt 04.08.2005, 19:26  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Nein. Die Variable ist nicht global, sonst müsste sie ja gar nicht mit return zurückgegeben werden.
imported_Ben ist offline  
Alt 05.08.2005, 18:56  
Gast
 
Beiträge: n/a
Standard

Also ich hab folgendes rausgefunden:

Wenn ich folgendes Script schreibe

Code:
<?php

error_reporting(E_ALL);

function x()
{
$x="3";
return $x;
}

x();
echo $x;
?>
wird $x nicht ausgegeben. Bedeutet: Ich schmeisse $x mit return nicht in den Pool der globalen Variablen. Das ist komisch, und ich frage mich, wozu return dann überhaupt gebraucht wird. Egal.
Ich muss wissen, wie ich eine Variable am Ende einer Funktion, sozusagen als verarbeitetes Endprodukt vom lokalen in den globalen Variablenpool schmeissen kann.
Weiß das jemand? Wäre schön!
 
Alt 05.08.2005, 19:01  
Gast
 
Beiträge: n/a
Standard

kann mal bitte jemand meine einträge bis auf einen löschen?
ich hatte meinen php parser an und da gab's dauernd nen error. hat aber trotzdem gepostet. wusst ich aber nicht. sorry.
 
Alt 05.08.2005, 21:40  
Gast
 
Beiträge: n/a
Standard

Rückgabewert: Die Funktion gibt etwas zurück, dass Du "auffangen" und benutzen kannst
PHP-Code:
<?php
function x()
{
    
$x="3";
    return 
$x;
}

$retval x(); // genausogut $x=x()
echo $retval// und dann echo $x;
?>
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Klasse statt globaler Variablen ecomeback PHP-Fortgeschrittene 6 15.07.2008 16:30
PHP-Editor gesucht Shyne PHP-Fortgeschrittene 14 12.05.2008 00:22
In Fuktionen alle Variablen Global stellen ? atom-dragon PHP Tipps 2005-2 5 22.07.2005 04:30
Variablen übergeben bzw. auslesen? PHP Tipps 2005 4 30.01.2005 03:56

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
lokale variablen php, php globals in lokaler variable, php lokale variablen

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:29 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.