php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.10.2006, 08:48  
Erfahrener Benutzer
 
Registriert seit: 03.04.2006
Beiträge: 222
<Daniel>
Standard Macht es Sinn den Variablen Typ manuell festzulegen?

Moin zusammen,
ich wollte mal Fragen wie sinnvoll es in PHP ist, den Variablen Typ manuell festzulegen und es nicht automatisch machen zu lassen? Macht es überhaupt einen Unterschied?
Also sollte man es so:
PHP-Code:
<?php
$iVar 
= (int) "10";
?>
Oder so:
PHP-Code:
<?php
$iVar 
"10";
?>
machen?

Gruß
&lt;Daniel&gt; ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 09.10.2006, 09:04  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Also zu allererst ist es total sinnfrei, einen Zahlenwert als Zeichenkette anzugeben.

In PHP werden Typen leider nicht sehr ernst genommen. Generell ist es aber schon sinnvoll, wenn man sich wenigstens selbst im Klaren ist, welchen Typ die verwendeten Daten haben.

In Deinen beiden Varianten hast Du schon Unterschiede. Gib mal $iVar[1] aus.

Wenn man mal von diesem Riesen-Mist mit der Zeichenkette absieht, bleiben nicht mehr viele Unterschiede übrig.

$iVar = 10;
und
$iVar = (int) 10;
sind gleich.

Wenn Du eine Integer-Division machen willst, aber PHP dummerweise daraus eine Fließkomma-Division macht, musst Du wieder manuell auf int zwingen damit der Nachkommaanteil abgeschnitten wird. Das geht nicht automatisch.

$iVar = 10/3;
ist aber nicht das gleiche wie
$iVar = intval(10/3);

In anderen Sprachen gibt es für Fließkommazahlen eigene Typen und eigene Schreibweisen für die Konstanten. Z.B. 10.0 statt 10 . Aber in PHP gibt es ja sowieso kein sauberes strenges Typen-Konzept.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 09.10.2006, 09:20  
Erfahrener Benutzer
 
Registriert seit: 03.04.2006
Beiträge: 222
&lt;Daniel&gt;
Standard

Ah sorry, ich weiß auch nicht wieso ich die jetzt als String deklariert habe, ist noch früh und ich hatte erst einen Kaffee ^^

Also alles in einem kann man sagen, in PHP ist es egal? Weil in anderen Sprachen wie z.B. C muss man ja schon bei der Deklaration sagen (bzw. das ist die Deklaration) was es ist, z.B. int Zahl oder double/float Kommazahl.

Wobei das mit der Integerdivision hört sich logisch an. Gibt sicher Leute die nur '$iVar = 10/3;' machen und dann um auf eine ganze Zahl zu kommen noch ein round() davor packen

Gruß
&lt;Daniel&gt; ist offline  
Alt 09.10.2006, 12:34  
Erfahrener Benutzer
 
Registriert seit: 08.05.2005
Beiträge: 814
andy
andy eine Nachricht über ICQ schicken
Standard

Es gibt noch einen Fall wo sich casten lohnt, wenn man nämlich eine ID aus der URL für eine MySQL Abfrage nutzt. Man braucht kein mysql_real_escape_string() sondern setzt einfach den Typ auf INT und schon die die Gefahr das Code eingeschleust wird gebannt.
__________________
Zitat:
Diese Erweiterung ist EXPERIMENTELL.
[...]
Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko..
andy 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
Klasse statt globaler Variablen ecomeback PHP-Fortgeschrittene 6 15.07.2008 16:30
Fehler bei Übergabe von Variablen aus MySQL in Firefox jensoweber Datenbanken 0 13.07.2008 13:14
Ü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
Variable aus Variablen zusammensetzen juhuwoorps PHP Tipps 2007 1 28.11.2005 21:50
variablen in url automatisch hinzufügen Promaetheus PHP Tipps 2007 2 26.11.2005 12:52
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
Variablen leeren PHP Tipps 2005 14 06.01.2005 18:19
komplexe Variablen übergeben? PHP Tipps 2004-2 8 02.12.2004 08:29
Variablen Namen zuweisen dh1sbg PHP Tipps 2004-2 3 12.11.2004 17:12
Variablen aus den Formular sind nicht mehr verfügbar PHP Tipps 2004 6 30.10.2004 13:31
Variablen per adresse übergeben rocco PHP Tipps 2004 7 24.07.2004 12:03


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