php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 27.04.2005, 10:42  
Gast
 
Beiträge: n/a
Standard globale Variablen

Hallöchen,
ich habe folgendes Problem.
Ich habe eine Funktion in der ich einer Variable einen Wert zuweise.
Um auf die Variablen von außerhalb zugreifen zu können hatte ich die Variable mit define deklariert. Da ich die Funktion aber auch noch zu etwas anderen nutzen möchte und die Variable veränderbar sein muß kann ich die Lösung mit define nicht anwenden.

Wie kann ich mir einen Zugriff auf die Variable erschaffen die in einer Funktion gesetzt wird ??


Gruß Tetsuo
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 27.04.2005, 10:53  
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.818
axo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

auf globals kannst du bitte komplett verzichten.


PHP-Code:
<?php
function hello($x)  {
   
$var $x
   return 
$var;
}

$zwanzig hello(4);
$vierundzwanzig hello(5); 

function 
referenzBeispiel($x, &$y)  {
        
$y $x;
}

$start 5;
var_dump($start); // 5
referenzBeispiel(4,$start);

var_dump($start); // 20
referenzBeispiel(2,$start);
var_dump($start); // 40
?>
diese beiden wege reichen bis hin zu den vertracktesten algorithmen.
axo ist offline  
Alt 27.04.2005, 10:55  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.034
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Mit define() erstellst du keine Variable, sondern eine Konstante.
Auf eine Funktions-Variable hast von aussen keinen Zugriff, höchstens umgekehrt (ist aber auch nicht zu empfehlen). Wenn du in einer Funktion einen Wert verändern möchtest, musst du diesen mit return zurückgeben.
__________________
Gruss
L
lazydog ist offline  
Alt 27.04.2005, 11:24  
Gast
 
Beiträge: n/a
Standard

Also ich bekomme es nicht hin.

Hier der Auszug:
function monatsnamen_ermitteln($monatszahl)
{
switch($monatszahl)
{
case 1:
$monatsname='Januar';
return $monatsname;
break;
case 2:
$monatsname='Februar';
return $monatsname;
break;
case 3:
$monatsname='März';
return $monatsname;
break;
case 4:
$monatsname='April';
return $monatsname;
break;
case 5:
$monatsname='Mai';
return $monatsname;
break;
case 6:
$monatsname='Juni';
return $monatsname;
break;
case 7:
$monatsname='Juli';
return $monatsname;
break;
case 8:
$monatsname='August';
return $monatsname;
break;
case 9:
$monatsname='September';
return $monatsname;
break;
case 10:
$monatsname='Oktober';
return $monatsname;
break;
case 11:
$monatsname='November';
return $monatsname;
break;
case 12:
$monatsname='Dezember';
return $monatsname;
break;
}
}


for($i=1;$i<=12;$i++)
{
monatsnamen_ermitteln($i);
echo('
<option value="'.$i.'">'.$monatsname.'</option>');
}


Der Rest der Echo-Anweisung liste ich jetzt nicht auf

Wo liegt der Fehler in der Syntax ?
 
Alt 27.04.2005, 11:39  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.034
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Bitte benutze das nächste mal PHP-Tags, so kann man das Zeugs ja kaum lesen. Ich seh auf den ersten Blick keinen Syntaxfehler, aber ohne Fehlermeldung ist das auch nicht einfach zu finden, deshalb gehört zu so einer Frage zwingend auch die entsprechende Meldung.
Und zuletzt, hat zwar nichts mit dem Problem zu tun, warum so kompliziert, wenns doch so einfach geht:
PHP-Code:
<?php
function monatsnamen_ermitteln($monatszahl)
{
    
$mon_ar = array('Januar''Februar''März''April''Mai''Juni''Juli''August''September''Oktober''November''Dezember'):
    return 
$mon_ar[$monatszahl 1];

?>
__________________
Gruss
L
lazydog ist offline  
Alt 27.04.2005, 11:46  
Erfahrener Benutzer
 
Registriert seit: 01.12.2003
Beiträge: 4.113
supertramp
Standard

der Fehler liegt in der Art der Benutzung der Funktion.

also in der for-Schleife
__________________
Aufstrebend, kompetent und werbefrei.
www.developers-guide.net
supertramp ist offline  
Alt 27.04.2005, 11:48  
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.818
axo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

und verwendet wird das ganze mit

PHP-Code:
<?php
for($i=1;$i<=12;$i++) {
  echo 
'<option value="'.$i.'">'.monatsnamen_ermitteln($i).'</option>';

?>
axo ist offline  
Alt 27.04.2005, 11:50  
Erfahrener Benutzer
 
Registriert seit: 01.12.2003
Beiträge: 4.113
supertramp
Standard

ich wollte ihm die Chance geben selbst drauf zu kommen....


außerdem war ich gerade zu schreibfaul...
__________________
Aufstrebend, kompetent und werbefrei.
www.developers-guide.net
supertramp ist offline  
Alt 27.04.2005, 11:52  
Gast
 
Beiträge: n/a
Standard

Sorry, was weiß ich ob ich hier php tags nutzen kann.
Die Funktion klingt ganz gut nur weiß ich noch immer nicht wie ich sie aufrufen kann damit ich den Rückgabewert bekomme.

Bei diesen Aufruf passiert nix:
monatsnamen_ermitteln(1);

Bei meiner Funktion kam übrigens kein Fehler der Bildschirm ist nur leer, genauso wie bei Deiner.
 
Alt 27.04.2005, 12:12  
Gast
 
Beiträge: n/a
Standard

axo, danke für Deine Hilfe.
Habe es hin bekommen.
 
 


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
Übergeben von Variablen an in PHP eingebundenes Perl-Script shredder01 PHP Tipps 2008 3 04.04.2008 09:25
Datei mit Variablen so includen, dass Variablen nutzbar? BartTheDevil89 PHP Tipps 2008 6 22.01.2008 20:57
unerklärliches Leeren von Variablen KuShi PHP Tipps 2007 2 08.07.2007 15:19
Teil einer Variablen mit einer Variablen ersetzen ? simsalabim PHP Tipps 2007 11 20.03.2007 20:36
variablen aus textfile erzeugen (shellscript) noskule Server, Hosting und Workstations 2 19.07.2006 15:42
globale Variablen und OOP Timo Trallala PHP Tipps 2006 3 28.03.2006 12:02
Variable aus Variablen zusammensetzen juhuwoorps PHP Tipps 2007 1 28.11.2005 21:50
Globale Variablen PHP Tipps 2005-2 15 26.07.2005 12:26
Variablen übergeben bzw. auslesen? PHP Tipps 2005 4 30.01.2005 03:56
[Erledigt] register globals off bei variablen Variablen... PHP Tipps 2005 4 25.01.2005 17:50
globale variablen PHP Tipps 2004 2 25.09.2004 20:47
Globale Variablen Beatbox PHP Tipps 2004 10 10.09.2004 17:55
Variablen per adresse übergeben rocco PHP Tipps 2004 7 24.07.2004 12:03
Globale Variablen PHP Tipps 2004 3 08.07.2004 00:05

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
case \'1\': monatsname=\januar\; break;, php return werte aus funktion bei globals_off

Alle Zeitangaben in WEZ +1. Es ist jetzt 04:04 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.