September 2009
Intermediate to advanced
912 pages
48h 11m
German
Sie möchten echte Objekte als Schlüssel von Arrays verwenden, was PHP nicht erlaubt. Ein Workaround, wie die Serialisierung der Objekte in eine Zeichenkette, die dann als eindeutiger Identifier genutzt wird, kommt für Sie nicht infrage.
Die Standard PHP Library (SPL) stellt ab PHP 5.3 die Klasse SplObjectStorage zur Verfügung. Diese können Sie als Map-Datenstruktur nutzen und Objekte als Schlüssel verwenden:
class Foo {}
class Bar {}
$s1 = new SplObjectStorage();
$o1 = new StdClass;
$o2 = new Foo;
$o3 = new Bar;
$s1[$o1] = 'Wert $o1';
var_dump($s1->contains($o1));
var_dump($s1->contains($o2));
var_dump($s1->contains($o3));
bool(true)
bool(false)
bool(false) $s2 = new SplObjectStorage(); ...