php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.02.2009, 08:49  
Neuer Benutzer
 
Registriert seit: 20.02.2009
Beiträge: 3
thdc51 befindet sich auf einem aufstrebenden Ast
Standard VariablenNAMEN ausgeben

Hallo,
ich möchte mir das Debuggen vereinfachen mit einem Aufruf
DumpVar($var1,$var2,$array1...);

In dieser Funktion soll für alle übergebenen Variablen folgendes ausgegben
werden:
var1=wert1
var2=wert2

Dazu muss ich in der function irgendwie an den Variablen namen kommen.
(Da auch ggf. Superglobale übergeben werden, nutzt mir $GLOBALS wenig.)

Ich hab' da schon mal was vorbereitet:
PHP-Code:
function DumpValue() {           
  
$x func_get_args();
  for(
$i=0$i func_num_args(); $i++) {
    if(
is_array($x[$i])) {
      print(
'<br />variablenname= <pre>'); var_dump($x[$i]); print('<pre>');
    } else {
     print(
'<br />variablenname='.$x[$i]);
   }  
  }  

So sollte es aussehen! doch wie komm ich an den Variablennamen ran?
Im Moment übergebe ich den mit einer anderen function in der Art
DumpValue_old('variable1',$var1......)
aber das muß doch einfacher gehen, odddder???

Hat irgendjemand eine Idee?
Gruß
Bernd
thdc51 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 20.02.2009, 09:01  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Vielleicht hilft dir das: PHP: get_defined_vars - Manual
cycap ist offline  
Alt 20.02.2009, 09:28  
Neuer Benutzer
 
Registriert seit: 20.02.2009
Beiträge: 3
thdc51 befindet sich auf einem aufstrebenden Ast
Standard

Hallo
der get_defined_vars gibt leider nur die lokalen (function-lokalen) Variablen aus!
Also innerhalb der
function DumpValue() {
$x = func_get_args();
$arr = get_defined_vars();
print("<br><pre>");var_dump($arr);
...

kommt nur
array(1) {
["x"]=>
array(2) {
[0]=>
string(4) "RUID"
[1]=>
string(4) "R_ID"
}
}

Das ist irgendwie nicht das Richtige.
extract bringt auch nichts!
Es müsste eine Variable aus dem PHP-Kernel sein, die über die Symbolliste des Compilers
geht. So ähnlich wie debug_backtrace !!
thdc51 ist offline  
Alt 20.02.2009, 09:46  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Hmm ja macht sinn, hab ich gar nicht drüber nachgedacht. Also ich sehe im moment keine Möglichkeit.
cycap ist offline  
Alt 20.02.2009, 09:50  
Neuer Benutzer
 
Registriert seit: 20.02.2009
Beiträge: 3
thdc51 befindet sich auf einem aufstrebenden Ast
Standard

Schade, dann halt mit dem Variablennamen von aussen ! ;-(

Übrigens: 1 && 1 macht bei mir NULL -> nachdem die mich letztes Jahr 10 Wochen
ohne (DSL) gelassen haben. Mathe ist doch schwer, gelle !
thdc51 ist offline  
Alt 05.08.2010, 14:11  
Erfahrener Benutzer
 
Registriert seit: 03.08.2010
Beiträge: 1.143
PHP-Kenntnisse:
Anfänger
hausl wird schon bald berühmt werdenhausl wird schon bald berühmt werden
Standard

Hallo!

Zwar schon alt hier, aber ev. brauchst es noch .. ich hab da mal das da gefunden:

Zitat:
Here's a very simple function for debugging. It's far from perfect but I find it very handy. It outputs the var value and the var name on a new line. The problem is it'll echo any vars and their name if they share the same value. No big deal when debugging and saves the hassle of writing the HTML and var name when echoing a variable. (ev=echo variable). Using get_defined_vars() inside a function renames the var name to the functions variable so isn't as useful for debugging. Of course, you'll need access to the $GLOBALS array
<?
function ev($variable){
foreach($GLOBALS as $key => $value){
if($variable===$value){
echo '<p>'.$key.' - '.$value.'</p>';
}
}
}

$a=0;
ev($a);
$b=0;
ev($b);
$c=0;
ev($c);
?>
Will output
a - 0

a - 0
b - 0

a - 0
b - 0
c - 0
Juergen
hausl ist offline  
Alt 05.08.2010, 15:10  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von thdc51 Beitrag anzeigen
Im Moment übergebe ich den mit einer anderen function in der Art
DumpValue_old('variable1',$var1......)
aber das muß doch einfacher gehen, odddder???
Vor allem sollte es richtiger gehen, wenn du überhaupt was damit anfangen willst - in dem Beispiel stimmt 'variable1' ja noch nicht mal mit dem Namen von $var1 überein ...

Zitat:
Hat irgendjemand eine Idee?
Wenn du deine Funktion nicht so
PHP-Code:
DumpVar($var1,$var2,$array1); 
sondern so
PHP-Code:
DumpVar('var1','var2','array1'); 
aufrufst - dann hättest du die Namen bereits.
Und dann brauchst du dir nur noch den Wert/Inhalt besorgen, was du in PHP auch ganz simpel über „variable Variablen“ machen kannst.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline  
Alt 05.08.2010, 15:16  
Erfahrener Benutzer
 
Registriert seit: 03.08.2010
Beiträge: 1.143
PHP-Kenntnisse:
Anfänger
hausl wird schon bald berühmt werdenhausl wird schon bald berühmt werden
Standard

variable Variablen ist auch ne gute (bessere) idee

ich hätte es mit eval() daheim

Juergen
hausl ist offline  
Alt 05.08.2010, 16:01  
Erfahrener Benutzer
 
Registriert seit: 30.07.2008
Beiträge: 1.169
PHP-Kenntnisse:
Fortgeschritten
xm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphäre
Standard

Du kannst in dem Fall oben den Namen der Variablen gar nicht auslesen, da sie im Scope der Funktion keinen Namen haben. Deswegen gibt func_get_args auch nur ein numerisches Array zurück..
xm22 ist offline  
Alt 05.08.2010, 16:03  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Ich denke nicht das thdc51 hier so schnell wieder reinguckt, letzte aktivität 23.02.2009 09:20 ...
cycap ist offline  
 


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
Bild erzeugen lassen und in Tabelle ausgeben maximus PHP Tipps 2008 7 11.11.2008 20:53
Externe Variable über eine Funktion ausgeben errox PHP Tipps 2008 3 14.04.2008 11:26
verschachtelte Rubriken ausgeben / alle anzeigen prinzli PHP Tipps 2008 3 25.02.2008 22:37
Variablennamen in Variablennamen??? blu3fish PHP Tipps 2008 4 29.01.2008 22:46
beim letzten Datensatz anderes Icon ausgeben prinzli Datenbanken 16 30.11.2007 23:50
mysql - text ausgeben dws PHP Tipps 2006 14 15.06.2006 22:50
Download starten (header funktion), vorher Text ausgeben? Harakiri81 PHP-Fortgeschrittene 19 16.05.2006 21:15
[Erledigt] Datensätze blockweise nacheinander ausgeben?? Datenbanken 6 13.03.2006 14:22
Höchste IP ausgeben krummzahn PHP Tipps 2005-2 9 17.10.2005 00:16
Codeschnipsel nur bei bestimmten Stylesheet ausgeben PHP Tipps 2005-2 2 24.07.2005 11:53
Ein Datensatz ausgeben PHP Tipps 2005 8 02.06.2005 21:52
Wie DB-Ergebniss in html-Tabelle ausgeben ? PHP Tipps 2004-2 2 31.12.2004 18:04
[Erledigt] Array ausgeben PHP Tipps 2004-2 4 05.12.2004 00:53
[Erledigt] Ganze Tabelle ausgeben PHP Tipps 2004-2 1 21.11.2004 16:48
Liste ausgeben PHP Tipps 2004 3 25.10.2004 10:31

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php variablennamen ausgeben, php variablenname ausgeben, php variablenname, php variablennamen, variablenname php, php name der variable ausgeben, variablenname ausgeben, variablennamen ausgeben php, variablennamen php, variablennamen ausgeben, variablenname ausgeben php, php variablen name ausgeben, php variablen namen ausgeben, php variablenname anzeigen, javascript variablenname ausgeben, php variable name ausgeben, javascript variablennamen ausgeben, php variable namen ausgeben, php name einer variablen ausgeben, php name einer variable ausgeben

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:19 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