MB: mit __set() array property bauen?

Beitrag lesen

moin

schuldige die Verzögerung. Ich habs gelöst und meinte sowas:

<?php

class Foobar {
    
    private $array;
    
    public function __get( string $name ) {
        return $this->$name;
    }
    
    public function __set( string $name, $value ) {
        if( $name === 'array' and is_array($value )) {
            $this->array[] = $value;
        }
    }
    
}

$fb = new Foobar;

$fb->array = [ 'a' => '1' ];
$fb->array = [ 'b' => '2' ];
$fb->array = [ 'c' => '3' ];
$fb->array = [ 'd' => '4' ];
$fb->array = [ 'e' => '5' ];

echo '<pre>';
var_dump( $fb->array );

?>

Resultat:

array(5) {
  [0]=>
  array(1) {
    ["a"]=>
    string(1) "1"
  }
  [1]=>
  array(1) {
    ["b"]=>
    string(1) "2"
  }
  [2]=>
  array(1) {
    ["c"]=>
    string(1) "3"
  }
  [3]=>
  array(1) {
    ["d"]=>
    string(1) "4"
  }
  [4]=>
  array(1) {
    ["e"]=>
    string(1) "5"
  }
}

Das ist das von mir erwünschte ergebis. Was hast du denn gedacht, was ich meine? Ich möht gerne Wissen woran es hakt, bezogen auf deine Interpretation meiner Frage. Für eine bessere Kommunikation meinerseits ist dies essenziell

lgmb