phpbar.de logo

Mailinglisten-Archive

[php] strlen() fehler - code und var_dump

[php] strlen() fehler - code und var_dump

Hans Egg hans.egg at swissonline.ch
Mi Apr 7 18:34:58 CEST 2010


Hallo Musa

Am 07.04.2010 um 17:55 schrieb Musa:

> der gleiche fehler/warnung wird auch bei variablen ausgegeben, die datum beinhalten. sollte ich anstelle von strlen() isset() verwenden oder kann man das problem irgendwie anderwertig lösen? denn manchmal habe ich auch variablen die einen datum oder zeichenkette beinhalten können oder aber auch leer sein können. deswegen nutze ich strlen().

strlen() ist richtig für strings, PèHP wird dir auch Zahlenwerte als string behandeln, nicht aber Verweise auf Datenbankverbindungen! Wenn du nur wissen willst, ob eine Variable existiert, ist isset() richtig, im Falle von mysql_connect genügt ein einfaches if(), denn entweder wird ein Verweis auf eine Verbindung zurückgegeben oder false, nie jedoch ein string. 

Manchmal ist es wichtig zu wissen, ob eine Variable numerisch 0, NULL, FALSE, leerer string enthält oder gar nicht gesetzt ist. PHP wird zB bei if() viele Fälle gleich behandeln (nämlich als false). Es ist aber auch möglich mit is_numeric(), isset(), is_null(), empty() oder mit === bzw. !== das differenziert zu behandeln.

Auch wenn PHP relativ gutmütig ist bezüglich Mix von Datentypen, empfiehlt es sich, immer möglichst typengerecht zu prüfen, resourcen also mit isset() oder zB mit if(!$resource), wie du das weiter oben im Code machst.

Ein guter Überblick über die verschiedenen Prüfungen kannst du hier finden:
http://de.php.net/manual/de/types.comparisons.php

Hoffe, das hilft.
Gruß, Hans

php::bar PHP Wiki   -   Listenarchive