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

📄 bug31185.phpt

📁 PHP v6.0 For Linux 运行环境:Win9X/ WinME/ WinNT/ Win2K/ WinXP
💻 PHPT
字号:
--TEST--Bug #31185 (Crash when exceptions thrown from ArrayAccess::offsetUnset())--SKIPIF--<?php if (!extension_loaded("spl")) print "skip"; ?>--FILE--<?phpclass FooBar implements ArrayAccess {	private $array = array();	public function offsetExists($index) {		return isset($this->array[$index]);	}	public function offsetGet($index) {		return $this->array[$index];	}	public function offsetSet($index, $value) {		echo __METHOD__ . "($index, $value)\n";		$this->array[$index] = $value;	}	public function offsetUnset($index) {		throw new Exception('FAIL');		unset($this->array[$index]);	}}$i = 0; $j = 0;$foo = new FooBar();$foo[$j++] = $i++;$foo[$j++] = $i++;$foo[$j++] = $i++;try{	unset($foo[1]);}catch (Exception $e){	echo "CAUGHT: " . $e->getMessage() . "\n";}print_R($foo);?>===DONE===--EXPECT--FooBar::offsetSet(0, 0)FooBar::offsetSet(1, 1)FooBar::offsetSet(2, 2)CAUGHT: FAILFooBar Object(    [array:FooBar:private] => Array        (            [0] => 0            [1] => 1            [2] => 2        ))===DONE===

⌨️ 快捷键说明

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