Codeschnippsel
Eine kleine Sammlung an Scripten und Funktionen, die ich einmal zusammengeschrieben habe und die vielleicht interessant sein könnten.
PHP
php2js
php2js([array php [, string name [, bool useVar]]])
Die Funktion php2js() übersetzt ein PHP-Array nach JavaScript. Dabei wird die Struktur und Multidimensionalität beibehalten. Strings und Zahlen werden bei den Schlüsseln und Werten ebenfalls unterschieden.
str_replace_count
string str_replace_count(string search, string replace,
string subject, int count)
Die Funktion str_replace_count
ersetzt search durch replace in subject,
jedoch nur count mal. Es sind zwei mögliche Implementationn
gezeigt, es sollte jedoch die erste verwendet werden.
Sie laufen beide ab PHP3 (die erste Version müsste jedoch ein wenig
umgearbeitet werden, da !==
dort noch nicht bekannt ist.
str_replace() im im PHP-Manual
array_walk_recursive
Die Funktion array_walk_recursive()
zeigt zwei Varianten, wie man ein Array rekusiv durchlaufen und eine
Callback-Funktion auf die Elemente anwenden kann, ähnlich wie
array_walk()
.
Zum einen kann man einfach in der Callback-Funktion abfragen, ob es sich
bei dem Wert um ein Array handelt und ggf. die Funktion erneut aufrufen.
Der Ablauf dazu ist in callback_recursive
gezeigt. Dieser
Weg ist bereits unter PHP3 lauffähig.
Zum anderen ist eine Funktion array_walk_recursive(array &array,
string callback)
vorhanden: callback ist die Callback-Funktion,
die auf alle Elemente von array angewendet werden soll. In PHP5
ist diese Funktion bereits so verfügbar, diese Funktion ist also für
PHP4 gedacht.
array_walk() und array_walk_recursive() im im PHP-Manual
= != == != === !
Ein häfigr Flüchtigkeitsfehler ist if ($a = 'foo')
anstelle von if ($a == 'foo')
. Man wundert sich, warum scheinbar
immer TRUE zurückgegeben wird, obwohl $a doch den
Wert "bar" hat. Das liegt daran, dass eine Zuweisung immer den
zugewiesenen Wert (hier also "foo") zurückgibt und dies
also TRUE gewertet wird (da es keine 0 oder kein Leerstring ist).
In dieser Übersicht sind verschiedene
Zuweisungen und Vergleiche aufgelistet.
Typen-Vergleichstabelle im im PHP-Manual
noch unvollständig:
- ein paar array-Funktionen
- ein Script, welches eine Dezimalziffer in ein Zahlenwort umschreibt.