ArrayObject::__construct

(no version information, might be only in CVS)

ArrayObject::__construct --  Construct a new array object

Description

ArrayObject ArrayObject::__construct ( mixed input )

This constructs a new array object. The input parameter accepts an array or another ArrayObject.

例子 1. ArrayObject::__construct() example

<?php
$array
= array('1' => 'one',
               
'2' => 'two',
               
'3' => 'three');

$arrayobject = new ArrayObject($array);

var_dump($arrayobject);
?>

上例将输出:

object(ArrayObject)#1 (3) {
  [1]=>
  string(3) "one"
  [2]=>
  string(3) "two"
  [3]=>
  string(5) "three"
}


add a note add a note User Contributed Notes
Grigori Kochanov
15-Jul-2006 06:51
As Marcus explained, the flag ArrayObject::SPL_ARRAY_AS_PROPS means the array element may be used as a property if there is no conflict with visible properties.

If there are visible properties in the class, the array element will not overwrite it's value.

<?php
class Rules extends ArrayObject {
  
public $len = 1;
   function
__construct($array){
      
parent::__construct($array,ArrayObject::ARRAY_AS_PROPS);
      
$this['len'] = 2;
   }
}
$x = new Rules(array(1,2));
echo
$x->len;
?>
Result: 1

<?php
class Rules extends ArrayObject {
  
private $len = 1;
   function
__construct($array){
      
parent::__construct($array,ArrayObject::ARRAY_AS_PROPS);
      
$this['len'] = 2;
   }
}
$x = new Rules(array(1,2));
echo
$x->len;
?>
Result: 2