[PHP] Array und stdClass

hasch

Lt. Commander
Registriert
Sep. 2004
Beiträge
1.067
Bin immer noch dabei eine Mailsoftware zu schreiben, allerdings nun vor dem Problem, dass ich den Array Wert nicht ausgegeben bekomme.

Code:
Array ( [0] => stdClass Object ( [personal] => Mein Name [mailbox] => xpfreak [host] => winmag.de ) ) 
Fatal error: Cannot use object of type stdClass as array in C:\xampp\htdocs\ngd-systems\mail.php on line 36

Wie kann ich [mailbox] ausgeben, mit foreach geht das nicht?
 
$variable[0]->mailbox;

Beziehungsweise hier in einer Foreach-Schleife:

Für alle Indexe die Eigenschaften public $mailbox, $personal, $host speichern:
PHP:
<?php
foreach ($variable as $key => $value ) {
   $mailbox[$key] = $variable[$key]->mailbox;
   $personal[$key] = $variable[$key]->personal;
   $host[$key] = $variable[$key]->host;
}
?>

Ein Eigenschaften-Grabbing, das ermöglicht, alle Eigenschaften eines Objekts zu durchlaufen, also quasi ein foreach-Äquivalent, gibt es nicht. Die Eigenschaften müssen bekannt sein.
 
Zuletzt bearbeitet:
Faustpfand schrieb:
Ein Eigenschaften-Grabbing, das ermöglicht, alle Eigenschaften eines Objekts zu durchlaufen, also quasi ein foreach-Äquivalent, gibt es nicht. Die Eigenschaften müssen bekannt sein.


PHP:
<?php

class klasse {

	var $var1 = 'eins';
	var $var2 = 'zwei';
}

$klasse = new klasse;

echo '<pre>';
foreach(get_object_vars($klasse) as $key => $value) echo '['.$key.'] => '.$value."\n";
echo '</pre>';

/*

ausgabe:
[var1] => eins
[var2] => zwei

*/

?>
 
So kann man sich irren. :-)

Danke für den Tipp, kann ich selbst auch gut gebrauchen.
 
Zurück
Oben