8.7.1 Demo-Programm

Dieses Programm demonstriert die Unterschiede zwischen Werte- und Referenztypen anhand von Objekten und Arrays:

Datei pDemoReferenzen.php
<!doctype html> <!-- Programm "pDemoReferenzen.php" --> <html> <head> <meta charset="iso-8859-1" /> <meta name="author" content="Beringer Alfred" /> <meta name="description" content="Programmieren mit PHP 5" /> <title>Demo Werte- und Referenztypen</title> </head> <body> <pre>
<?php $arr = array(); print("<p>Draussen: vor 'istArrRef':</p>"); print_r($arr); // leeres Array istArrRef($arr); print("<p>Draussen: nach 'istArrRef':</p>"); print_r($arr); // leeres Array // ----------------------------------------------------------------------------- print("<p>*****************************</p>"); $obj = new stdClass(); print("<p>Draussen: vor 'istObjRef':</p>"); print_r($obj); // leeres Objekt istObjRef($obj); print("<p>Draussen: nach 'istObjRef':</p>"); print_r($obj); // Objekt mit 1 Attribut // ***************************************************************************** function istArrRef($array) { $array["element"] = "x"; print("<p>In Funktion 'istArrRef':</p>"); print_r($array); // Array mit 1 Element } // ----------------------------------------------------------------------------- function istObjRef(stdClass $objekt) { $objekt->element = "x"; print("<p>In Funktion 'istObjRef':</p>"); print_r($objekt); // Objekt mit 1 Attribut } // ***************************************************************************** ?>
</pre> <p> </p><hr /><p> </p> <footer> <address id="ende"> Copyright &#169; 2009<br /> Letzte Aktualisierung: 2013-10-30<br /> Beringer Alfred<br /> Wögerer Wolfgang </address> </footer> </body> </html>

Die Ausgabe zeigt nach Aufruf der Funktion istArrRef wieder das leere Array (d.h. es handelt sich um 2 verschiedene Arrays innerhalb und außerhalb der Funktion), während nach Aufruf der Funktion istObjRef das Objekt sein Attribut, das in der Funktion hinzugefügt wurde, erhalten bleibt (d.h. das Objekt in der Funktion ist genau dasselbe Objekt wie außerhalb der Funktion).



Weiter zu
Kapitel 9.1.4 - Demo-Programm (Parameterübergabe)
Kapitel 14.2 - Beispiel mit Datenerfassung (Dateien, objektorientiert)
Kapitel 15.1.1 - SQL-Skript
Kapitel 15.2 - Einführende Beispiele (Datenbanken, prozedural)
Kapitel 15.3 - Beispiel mit Datenerfassung (Datenbanken, objektorientiert)
Kapitel 16.1.2 - Projektpfad - Include-Datei "projektpfad.inc.php"
Zurück
zum Anfang dieses Kapitels
zu Kapitel 3.2.1.2 - Programm 1 (prozedural)
zu Kapitel 3.2.2.2 - Programm 2 (prozedural)
zu Kapitel 3.2.3.2 - Programm 3 (prozedural)
zu Kapitel 4.2.1.2 - Programm 1 (objektorientiert)
zu Kapitel 4.2.2.2 - Programm 2 (objektorientiert)
zu Kapitel 4.2.3.2 - Programm 3 (objektorientiert)
zum Inhaltsverzeichnis