php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.07.2004, 13:19  
Erfahrener Benutzer
 
Registriert seit: 30.07.2004
Beiträge: 255
Stümper
Standard Zuweisung oder Vergleich?

In meinem PHP - Programm habe ich folgende Zeile drin:

while(($row = mysql_fetch_array($result)) != false) {...}

Es funktioniert ohne Probleme. Mich verwirrt aber folgendes: wie kann eine Bedingung eine Zuweisung enthalten? Und wann liefert der Ausdruck false?

Danke
Stümper ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 30.07.2004, 13:20  
Gast
 
Beiträge: n/a
Standard

die bedingung ist
Code:
mysql_fetch_array()!=false
damit man auf das array dann leicht zugreifen kann wird dem array die variable $row zugewiesen
 
Alt 30.07.2004, 13:25  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard Re: Zuweisung oder Vergleich?

Zitat:
Zitat von Stümper
In meinem PHP - Programm habe ich folgende Zeile drin:

while(($row = mysql_fetch_array($result)) != false) {...}

Es funktioniert ohne Probleme. Mich verwirrt aber folgendes: wie kann eine Bedingung eine Zuweisung enthalten? Und wann liefert der Ausdruck false?

Danke
Deshalb steht der Ausdruck ja in Klammern, d.h.
Code:
$row = mysql_fetch_array($result)
wird zuerst ausgewertet und erst dann das Resultat mit "false" verglichen. Wenn nun mysql_fetch_array() nichts mehr liefert, wird die Bedingung false. Man kann "!= false" aber auch gleich weglassen:
Code:
while ($row = mysql_fetch_array($result)) {...}
__________________
Gruss
L
lazydog ist offline  
Alt 30.07.2004, 13:32  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von stümper
So weit so gut. In welchem Fall liefert der Ausdruck aber false? Wenn die Zuweisung nicht klappt oder wenn die Fkt. als Wert false zurückliefert?

Danke
Zitat:
Zitat von burner.nst
wenn die funktion mysql_fetch_array() false zurückliefert
und statt
Code:
mysql_fetch_array()!=false
sollte man
Code:
mysql_fetch_array()===true
verwenden oder einfach nur
Code:
mysql_fetch_array()
aus einem anderen thread mal hier reingeholt.
imported_Ben ist offline  
Alt 30.07.2004, 14:43  
Erfahrener Benutzer
 
Registriert seit: 30.07.2004
Beiträge: 255
Stümper
Standard mein Fehler

ja sorry, statt einer Antwort habe ich ein neues Thema erstellt. mein Fehler.
Stümper ist offline  
Alt 30.07.2004, 14:48  
Gast
 
Beiträge: n/a
Standard

uh, das ist nun aber doch falsch.
PHP-Code:
while(($row=mysql_fetch_array())===true
Wird nicht erfült werden. Denn mysql_fetch_... gibt zwar false zurück, wenn es keinen weiteren Datensatz mehr gibt, aber nicht true, wenn es einen gibt. Und ein Feld mit Elementen ist nicht Typ- und Wertgleich mit true.
Da ist
PHP-Code:
while( false!==($row=mysql_fetch_array($result)) ) 
dann doch besser.

Ausserdem findet die Zuweisung vor dem Vergleich statt (Wie bereits erwähnt, weist die Klammerung schon darauf hin). Nach der obigen while-Schleife ist $row===false, denn der Wert wurde noch zugewiesen, bevor die gesamte Schleiefe verlassen wurde.
 
 


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
php und perl im vergleich Off-Topic Diskussionen 17 05.03.2009 19:13
Schleifen-Problem beim Vergleich von 2 Arrays Slappi PHP Tipps 2008 3 15.06.2008 19:30
Vergleich mit false? Anotherone PHP Tipps 2006 3 17.04.2006 20:42
Vergleich zweier Tabellen Mandalay Datenbanken 11 22.03.2006 06:32
Vergleich von einem Wert, mit Werten aus einer Tabelle PHP Tipps 2005 14 01.11.2005 03:04
Probleme beim Vergleich mit if.. PHP Tipps 2007 8 31.10.2005 21:47
Falscher vergleich: mein PHP denkt unlogisch udn falsch Blank PHP Tipps 2005-2 3 28.07.2005 19:13
Shopsysteme Vergleich Beitragsarchiv 0 18.07.2005 12:10
[Erledigt] CVS im vergleich Off-Topic Diskussionen 10 13.05.2005 16:35
Abfrage Vergleich zweier Tabellen MortakArtos Datenbanken 2 22.02.2005 16:02
[Erledigt] Was für ein Vergleich Off-Topic Diskussionen 40 17.01.2005 15:55
Problem mit Vergleich JeeZ PHP Tipps 2004 6 28.09.2004 17:27
Zuweisung in array tikal PHP Tipps 2004 5 23.09.2004 14:10
Vergleich, ob ein Datum mit Uhrzeit vor anderem liegt PHP-Fortgeschrittene 2 14.09.2004 15:27
IP Abfrage mit vergleich PHP Tipps 2004 8 16.06.2004 01:25

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php while zuweisung, zuweisung in bedingung, php zuweisung in bedingung, javascript zuweisung in while, php zuweisung vergleich, zuweisung vergleich, javascript while zuweisung, php while 2 vergleiche, php zuweisung in while, php if zuweisung und vergleich, zuweisung in while, while php zuweisung, php zuweisung true, while zweisung, mysql_fetch_array als where bedingung, php zuweisungs fehler, oder vergleich php, php zuweisung vergleich while, zuweisung $row, mysql_fetch_array zuweisung

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