php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 11.02.2012, 14:53  
Neuer Benutzer
 
Registriert seit: 11.02.2012
Beiträge: 1
PHP-Kenntnisse:
Fortgeschritten
codexp befindet sich auf einem aufstrebenden Ast
Standard PHP Boolean Mystery

Schaut's euch an!

Die Ausgabe erfolgt nicht wie erwartet...
Ich verstehe nicht warum es passiert:

PHP-Code:

<?php

echo "false:" false "<br>\r\n\r\n";
echo 
"(false):" . (false) . "<br>\r\n\r\n";
echo 
"false+false:" false+false "<br>\r\n\r\n";
echo 
"(false+false):" . (false+false) . "<br>\r\n\r\n";
echo 
"intval(false):" intval(false) . "<br>\r\n\r\n";
echo 
"'\"'.false.'\"':" '"'.false.'"' "<br>\r\n\r\n";

echo 
"true:" true "<br>\r\n\r\n";
echo 
"(true):" . (true) . "<br>\r\n\r\n";
echo 
"true+true:" true+true "<br>\r\n\r\n";
echo 
"(true+true):" . (true+true) . "<br>\r\n\r\n";
echo 
"intval(true):" intval(true) . "<br>\r\n\r\n";
echo 
"'\"'.true.'\"':" '"'.true.'"' "<br>\r\n\r\n";

?>
Und die Ausgabe ist:

Code:
false:<br>

(false):<br>

0<br>

(false+false):0<br>

intval(false):0<br>

'"'.false.'"':""<br>

true:1<br>

(true):1<br>

1<br>

(true+true):2<br>

intval(true):1<br>

'"'.true.'"':"1"<br>
Wo ist den der String von je dritter Zeile?
Was passiert damit?
codexp ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 11.02.2012, 15:05  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

3. false) + impliziert array oder numeric, bei + wird aus false 0, 0 + 0 = 0, addierst du bools kollidiert der vorhergehende typ zu NULL insofern du es innerhalb seines berechnungsscopes tust, grenzt du den scope ab ( klammern ), passiert das nicht.
3. true) same here

Sollte man nicht als Bug bezeichnen, würde gegenüber der compiler-devs eh als Bogus enden da es keinen sinn macht booleans zu addieren ( generell mit ihnen auf mathematischen Wege zu rechnen ). Im Prinzip würde dort nur die Doku um die Zeile "Booleans are not proposed to used in mathematical operations, use its integer or float representation without type-casting.", oder so ähnlich.
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 11.02.2012, 15:55  
Erfahrener Benutzer
 
Benutzerbild von mermshaus
 
Registriert seit: 14.06.2009
Beiträge: 1.731
PHP-Kenntnisse:
Fortgeschritten
mermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz sein
Standard

Ergänzend:

Beim Einsatz des „.“-Operators werden die Argumente auf beiden Seiten zu Strings umgeformt, beim Einsatz des „+“-Operators werden sie zu Zahlen[1] umgeformt.

Da „.“ und „+“ die gleiche Gewichtung haben, werden die betreffenden Ausdrücke von links nach rechts ausgewertet.

PHP-Code:
echo "false+false:" false+false "<br>\r\n\r\n"
  1. "false+false:" . false → "false+false:"
  2. "false+false:" + false → 0
  3. 0 . "<br>\r\n\r\n" → "0<br>\r\n\r\n"

- http://php.net/manual/en/language.ty...e-juggling.php



1: Die Geschichte mit den Arrays lasse ich unter den Tisch fallen.

- http://www.php.net/manual/en/languag...tors.array.php
__________________
Blog | Buch | Kaloa
mermshaus ist offline   Mit Zitat antworten
Antwort


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
Doctrine Boolean Problem madmaurice PHP-Fortgeschrittene 8 07.11.2010 16:35
mysql_fetch_assoc() expects parameter 1 to be resource, boolean given KohLix3 PHP Tipps 2010 17 06.11.2010 11:21
[Erledigt] Exchange 2007 KalenderItems tarian PHP-Fortgeschrittene 1 26.05.2010 10:23
[Erledigt] json_encode() und Boolean daniels. PHP-Fortgeschrittene 7 25.02.2010 22:56
[Erledigt] dynamischen signatur zeigt fehler &quot;grafik kann nicht angezeigt werden&quot; an steive PHP Tipps 2009 33 12.11.2009 11:31
[Erledigt] Warning: mysql_result() expects parameter 1 to be resource, boolean given FloRic Datenbanken 8 19.10.2009 20:15
Boolean in Datenbank Richy PHP Tipps 2008 11 22.09.2008 21:26
MySQL und Boolean: Werte nur auslesen, wenn TRUE schmidtsmikey PHP Tipps 2008 10 25.03.2008 13:00
filter_var und Test auf Boolean squig PHP-Fortgeschrittene 29 08.05.2007 13:45
boolean ersatz Fatal Error Datenbanken 5 09.01.2007 17:16
full boolean evaluation PHP Tipps 2005-2 0 05.08.2005 12:09
full boolean evaluation PHP Tipps 2005-2 0 05.08.2005 12:04
MySQL 3.23.x Volltextsuche mit Boolean codix Datenbanken 0 29.07.2005 14:42
[gelöst] Eclipse starten freq.9 Server, Hosting und Workstations 3 16.06.2005 21:19

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php boolean, php intval bool, intval false, php boole

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