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 © 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"
- Kapitel 14.2 - Beispiel mit Datenerfassung (Dateien, objektorientiert)
- 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
- zu Kapitel 3.2.1.2 - Programm 1 (prozedural)