⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 array_017.phpt

📁 PHP v6.0 For Linux 运行环境:Win9X/ WinME/ WinNT/ Win2K/ WinXP
💻 PHPT
📖 第 1 页 / 共 2 页
字号:
--TEST--SPL: ArrayObject::exchangeArray($this)--SKIPIF--<?php if (!extension_loaded("spl")) print "skip"; ?>--FILE--<?phpclass ArrayIteratorEx extends ArrayIterator{	public    $pub2 = 1;	protected $pro2 = 2;	private   $pri2 = 3;	function __construct($ar, $flags = 0)	{		echo __METHOD__ . "()\n";		parent::__construct($ar, $flags);		$this->imp2 = 4;	}	function dump()	{		echo __METHOD__ . "()\n";		var_dump(array('Flags'=>$this->getFlags()		              ,'OVars'=>get_object_vars($this)		              ,'$this'=>$this));	}	function setFlags($flags)	{		echo __METHOD__ . "($flags)\n";		ArrayIterator::setFlags($flags);	}}class ArrayObjectEx extends ArrayObject{	public    $pub1 = 1;	protected $pro1 = 2;	private   $pri1 = 3;		function __construct($ar = array(), $flags = 0)	{		echo __METHOD__ . "()\n";		parent::__construct($ar, $flags);		$this->imp1 = 4;	}	function exchange()	{		echo __METHOD__ . "()\n";		$this->exchangeArray($this);	}	function dump()	{		echo __METHOD__ . "()\n";		var_dump(array('Flags'=>$this->getFlags()		              ,'OVars'=>get_object_vars($this)		              ,'$this'=>$this));	}	function show()	{		echo __METHOD__ . "()\n";		foreach($this as $n => $v)		{			var_dump(array($n => $v));		}	}		function setFlags($flags)	{		echo __METHOD__ . "($flags)\n";		ArrayObject::setFlags($flags);	}		function getIterator()	{		echo __METHOD__ . "()\n";		$it = new ArrayIteratorEx($this, $this->getFlags());		$it->dyn2 = 5;		$it->dump();		return $it;	}}function check($obj, $flags){	echo "===CHECK===\n";	$obj->setFlags($flags);	$obj->dump();	$obj->show();	echo "===FOREACH===\n";		$it = $obj->getIterator();	foreach($it as $n => $v)	{		var_dump(array($n => $v));	}		echo "===PROPERTY===\n";		var_dump($obj->pub1);	var_dump(isset($obj->a));	$obj->setFlags($flags | 2);	var_dump($obj->pub1);	var_dump(isset($obj->a));		var_dump($it->pub2);	var_dump(isset($it->pub1));	$it->setFlags($flags | 2);	var_dump($it->pub2);	var_dump(isset($it->pub1));}$obj = new ArrayObjectEx(array(0=>1,'a'=>25, 'pub1'=>42), 0);$obj->dyn1 = 5;check($obj, 0);check($obj, 1);echo "#####EXCHANGE#####\n";$obj->exchange();check($obj, 0);check($obj, 1);?>===DONE===<?php exit(0); ?>--EXPECTF--ArrayObjectEx::__construct()===CHECK===ArrayObjectEx::setFlags(0)ArrayObjectEx::dump()array(3) {  ["Flags"]=>  int(0)  ["OVars"]=>  array(2) {    ["a"]=>    int(25)    ["pub1"]=>    int(42)  }  ["$this"]=>  object(ArrayObjectEx)#1 (3) {    [0]=>    int(1)    ["a"]=>    int(25)    ["pub1"]=>    int(42)  }}ArrayObjectEx::show()ArrayObjectEx::getIterator()ArrayIteratorEx::__construct()ArrayIteratorEx::dump()array(3) {  ["Flags"]=>  int(0)  ["OVars"]=>  array(2) {    ["a"]=>    int(25)    ["pub1"]=>    int(42)  }  ["$this"]=>  object(ArrayIteratorEx)#2 (3) {    [0]=>    int(1)    ["a"]=>    int(25)    ["pub1"]=>    int(42)  }}array(1) {  [0]=>  int(1)}array(1) {  ["a"]=>  int(25)}array(1) {  ["pub1"]=>  int(42)}===FOREACH===ArrayObjectEx::getIterator()ArrayIteratorEx::__construct()ArrayIteratorEx::dump()array(3) {  ["Flags"]=>  int(0)  ["OVars"]=>  array(2) {    ["a"]=>    int(25)    ["pub1"]=>    int(42)  }  ["$this"]=>  object(ArrayIteratorEx)#3 (3) {    [0]=>    int(1)    ["a"]=>    int(25)    ["pub1"]=>    int(42)  }}array(1) {  [0]=>  int(1)}array(1) {  ["a"]=>  int(25)}array(1) {  ["pub1"]=>  int(42)}===PROPERTY===int(1)bool(false)ArrayObjectEx::setFlags(2)int(1)bool(true)int(1)bool(false)ArrayIteratorEx::setFlags(2)int(1)bool(true)===CHECK===ArrayObjectEx::setFlags(1)ArrayObjectEx::dump()array(3) {  ["Flags"]=>  int(1)  ["OVars"]=>  array(5) {    ["pub1"]=>    int(1)    ["pro1"]=>    int(2)    ["pri1"]=>    int(3)    ["imp1"]=>    int(4)    ["dyn1"]=>    int(5)  }  ["$this"]=>  object(ArrayObjectEx)#1 (5) {    ["pub1"]=>    int(1)    ["pro1":protected]=>    int(2)    ["pri1":"ArrayObjectEx":private]=>    int(3)    ["imp1"]=>    int(4)    ["dyn1"]=>    int(5)  }}ArrayObjectEx::show()ArrayObjectEx::getIterator()ArrayIteratorEx::__construct()ArrayIteratorEx::dump()array(3) {  ["Flags"]=>  int(1)  ["OVars"]=>  array(5) {    ["pub2"]=>    int(1)    ["pro2"]=>    int(2)    ["pri2"]=>    int(3)    ["imp2"]=>    int(4)    ["dyn2"]=>    int(5)  }  ["$this"]=>  object(ArrayIteratorEx)#3 (5) {    ["pub2"]=>    int(1)    ["pro2":protected]=>    int(2)    ["pri2":"ArrayIteratorEx":private]=>    int(3)    ["imp2"]=>    int(4)    ["dyn2"]=>    int(5)  }}array(1) {  [0]=>  int(1)}array(1) {  ["a"]=>  int(25)}array(1) {  ["pub1"]=>  int(42)}===FOREACH===ArrayObjectEx::getIterator()ArrayIteratorEx::__construct()ArrayIteratorEx::dump()array(3) {  ["Flags"]=>  int(1)  ["OVars"]=>  array(5) {    ["pub2"]=>    int(1)    ["pro2"]=>    int(2)    ["pri2"]=>    int(3)    ["imp2"]=>    int(4)    ["dyn2"]=>    int(5)  }  ["$this"]=>  object(ArrayIteratorEx)#2 (5) {    ["pub2"]=>    int(1)    ["pro2":protected]=>    int(2)    ["pri2":"ArrayIteratorEx":private]=>    int(3)    ["imp2"]=>    int(4)    ["dyn2"]=>    int(5)  }}array(1) {  [0]=>  int(1)}array(1) {  ["a"]=>  int(25)}array(1) {  ["pub1"]=>  int(42)}===PROPERTY===int(1)bool(false)ArrayObjectEx::setFlags(3)int(1)bool(true)int(1)bool(false)ArrayIteratorEx::setFlags(3)int(1)bool(true)#####EXCHANGE#####ArrayObjectEx::exchange()===CHECK===ArrayObjectEx::setFlags(0)ArrayObjectEx::dump()array(3) {  ["Flags"]=>  int(0)  ["OVars"]=>  array(5) {    ["pub1"]=>    int(1)    ["pro1"]=>    int(2)    ["pri1"]=>    int(3)    ["imp1"]=>    int(4)    ["dyn1"]=>    int(5)  }  ["$this"]=>  object(ArrayObjectEx)#1 (5) {    ["pub1"]=>    int(1)    ["pro1":protected]=>    int(2)    ["pri1":"ArrayObjectEx":private]=>    int(3)    ["imp1"]=>    int(4)    ["dyn1"]=>    int(5)  }}ArrayObjectEx::show()ArrayObjectEx::getIterator()ArrayIteratorEx::__construct()ArrayIteratorEx::dump()array(3) {  ["Flags"]=>  int(0)  ["OVars"]=>  array(4) {    ["pub1"]=>    int(1)    ["pro1"]=>    int(2)    ["imp1"]=>    int(4)    ["dyn1"]=>    int(5)  }  ["$this"]=>  object(ArrayIteratorEx)#2 (5) {    ["pub1"]=>    int(1)    ["pro1":protected]=>    int(2)    ["pri1":"ArrayObjectEx":private]=>    int(3)    ["imp1"]=>    int(4)    ["dyn1"]=>    int(5)  }}array(1) {  ["pub1"]=>  int(1)}array(1) {  ["imp1"]=>  int(4)}array(1) {  ["dyn1"]=>  int(5)}===FOREACH===ArrayObjectEx::getIterator()ArrayIteratorEx::__construct()ArrayIteratorEx::dump()array(3) {  ["Flags"]=>  int(0)  ["OVars"]=>  array(4) {    ["pub1"]=>    int(1)    ["pro1"]=>    int(2)    ["imp1"]=>    int(4)    ["dyn1"]=>    int(5)  }  ["$this"]=>  object(ArrayIteratorEx)#3 (5) {    ["pub1"]=>    int(1)    ["pro1":protected]=>    int(2)    ["pri1":"ArrayObjectEx":private]=>    int(3)    ["imp1"]=>    int(4)    ["dyn1"]=>    int(5)  }}array(1) {  ["pub1"]=>  int(1)}array(1) {  ["imp1"]=>  int(4)}array(1) {  ["dyn1"]=>  int(5)}===PROPERTY===int(1)bool(false)ArrayObjectEx::setFlags(2)int(1)bool(false)int(1)bool(false)ArrayIteratorEx::setFlags(2)int(1)bool(true)===CHECK===ArrayObjectEx::setFlags(1)ArrayObjectEx::dump()array(3) {  ["Flags"]=>  int(1)  ["OVars"]=>  array(5) {    ["pub1"]=>    int(1)    ["pro1"]=>    int(2)    ["pri1"]=>    int(3)    ["imp1"]=>    int(4)    ["dyn1"]=>    int(5)  }  ["$this"]=>  object(ArrayObjectEx)#1 (5) {    ["pub1"]=>    int(1)    ["pro1":protected]=>    int(2)    ["pri1":"ArrayObjectEx":private]=>    int(3)    ["imp1"]=>    int(4)    ["dyn1"]=>    int(5)  }}ArrayObjectEx::show()ArrayObjectEx::getIterator()ArrayIteratorEx::__construct()ArrayIteratorEx::dump()array(3) {  ["Flags"]=>  int(1)  ["OVars"]=>  array(5) {    ["pub2"]=>    int(1)    ["pro2"]=>    int(2)    ["pri2"]=>    int(3)    ["imp2"]=>    int(4)    ["dyn2"]=>    int(5)  }  ["$this"]=>  object(ArrayIteratorEx)#3 (5) {    ["pub2"]=>    int(1)    ["pro2":protected]=>    int(2)    ["pri2":"ArrayIteratorEx":private]=>    int(3)    ["imp2"]=>    int(4)    ["dyn2"]=>    int(5)  }}array(1) {  ["pub1"]=>  int(1)}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -