sortof format slow tests
A poor man's formatter since I didn't like any of the other ones I found. The original C++ source sometimes put newlines and sometimes not.
Codemods:
codemod '([;{}])([^\n])' '\1\n\2'
codemod -m '\s*<\?php\s+' '<?php\n\n'
codemod '\t' ' '
I hand-fixed all the failing tests
Esse commit está contido em:
@@ -1,3 +1,6 @@
|
||||
<?php
|
||||
|
||||
printf("%s\n", 30 + 30);printf("%s\n", "30" + 30);printf("%s\n", 30 + "30");printf("%s\n", "30" + "30");
|
||||
printf("%s\n", 30 + 30);
|
||||
printf("%s\n", "30" + 30);
|
||||
printf("%s\n", 30 + "30");
|
||||
printf("%s\n", "30" + "30");
|
||||
|
||||
@@ -1,3 +1,22 @@
|
||||
<?php
|
||||
|
||||
$a = "123.456" + 123;var_dump($a);$a = "123.456" + 456.123;var_dump($a);$a = "123.456" + "123";var_dump($a);$a = "123.456" + "456.123";var_dump($a);$a = "123.456";$a += 123;var_dump($a);$a = "123.456";$a += 456.123;var_dump($a);$a = "123.456";$a += "123";var_dump($a);$a = "123.456";$a += "456.123";var_dump($a);
|
||||
$a = "123.456" + 123;
|
||||
var_dump($a);
|
||||
$a = "123.456" + 456.123;
|
||||
var_dump($a);
|
||||
$a = "123.456" + "123";
|
||||
var_dump($a);
|
||||
$a = "123.456" + "456.123";
|
||||
var_dump($a);
|
||||
$a = "123.456";
|
||||
$a += 123;
|
||||
var_dump($a);
|
||||
$a = "123.456";
|
||||
$a += 456.123;
|
||||
var_dump($a);
|
||||
$a = "123.456";
|
||||
$a += "123";
|
||||
var_dump($a);
|
||||
$a = "123.456";
|
||||
$a += "456.123";
|
||||
var_dump($a);
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
<?php
|
||||
|
||||
var_dump(1.7976931348623157e+308 + 1.7976931348623157e+308);
|
||||
var_dump(1.7976931348623157e+308 + 1.7976931348623157e+308);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
$a = array();
|
||||
$a = array();
|
||||
$a[] =& $a;
|
||||
print_r($a);
|
||||
apc_store('table', $a);
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
<?php
|
||||
|
||||
|
||||
class A { var $v = 10; function f() { $this->v = 100; } }
|
||||
class A {
|
||||
var $v = 10;
|
||||
function f() {
|
||||
$this->v = 100;
|
||||
}
|
||||
}
|
||||
$a = array(array(1, 2, 3), new A());
|
||||
apc_store('0', $a);
|
||||
$b = apc_fetch(0);
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
<?php
|
||||
|
||||
|
||||
class A { private $b = 10; }
|
||||
class B extends A { private $b = 100; }
|
||||
class A {
|
||||
private $b = 10;
|
||||
}
|
||||
class B extends A {
|
||||
private $b = 100;
|
||||
}
|
||||
apc_store('key', new B());
|
||||
var_dump(apc_fetch('key'));
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
<?php
|
||||
|
||||
|
||||
class A { var $a, $b; }
|
||||
$a = new A(); $a->a = 5; $a->b = &$a->a;
|
||||
class A {
|
||||
var $a, $b;
|
||||
}
|
||||
$a = new A();
|
||||
$a->a = 5;
|
||||
$a->b = &$a->a;
|
||||
apc_store('key', $a);
|
||||
var_dump(apc_fetch('key'));
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
<?php
|
||||
|
||||
|
||||
class a { protected $foo = 10;}$x = new a;apc_store('x', array($x));$x = apc_fetch('x');var_dump($x[0]);
|
||||
class a {
|
||||
protected $foo = 10;
|
||||
}
|
||||
$x = new a;
|
||||
apc_store('x', array($x));
|
||||
$x = apc_fetch('x');
|
||||
var_dump($x[0]);
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
<?php
|
||||
|
||||
|
||||
class A { var $i = 10; }
|
||||
class A {
|
||||
var $i = 10;
|
||||
}
|
||||
$a = array(new A);
|
||||
apc_store('key1', $a);
|
||||
$b = apc_fetch('key1');
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
<?php
|
||||
|
||||
|
||||
class A implements Serializable {
|
||||
var $a = 123;
|
||||
function serialize() { return serialize($this->a); }
|
||||
function unserialize($s) { $this->a = unserialize($s); }
|
||||
function serialize() {
|
||||
return serialize($this->a);
|
||||
}
|
||||
function unserialize($s) {
|
||||
$this->a = unserialize($s);
|
||||
}
|
||||
}
|
||||
$o = new A;
|
||||
apc_store('key', $o);
|
||||
|
||||
@@ -1,3 +1,77 @@
|
||||
<?php
|
||||
|
||||
class A { public function __construct($i, $j, $k) { $this->a = $i * $i; $this->b = $j * $j; $this->c = $k * $k; } public $a; protected $b; private $c; public $aa = 'aa'; protected $bb = false; private $cc = 1.22;}class B extends A { public function __construct($i, $j, $k) { $this->a = $i + $i; $this->b = $j + $j; $this->c = $k + $k; } public $a; protected $b; private $c; public $aa = 'aaa'; protected $bb = 4; private $cc = 1.222;}class C extends B { public function __construct($i, $j, $k) { $this->a = $i + $i + $i; $this->b = $j + $j + $j; $this->c = $k + $k + $k; } public $a; protected $b; private $c; public $aa = 'aaaa'; protected $bb = 40; private $cc = 1.333;}class D extends C { public function __construct($i, $j, $k) { $this->a = $i + $i + $i; $this->b = $j + $j + $j; $this->c = $k + $k + $k; } public $a; public $b; private $c; public $aa = 'aaaaa'; public $bb = 400; private $cc = 1.3333;}function foo() { $obj = new A(111, 222, 333); apc_store('foobar', $obj); $obj = apc_fetch('foobar'); $obj = apc_fetch('foobar'); var_dump($obj); $obj = new B(111, 222, 333); apc_store('foobar', $obj); $obj = apc_fetch('foobar'); $obj = apc_fetch('foobar'); var_dump($obj); $obj = new C(111, 222, 333); apc_store('foobar', $obj); $obj = apc_fetch('foobar'); $obj = apc_fetch('foobar'); var_dump($obj); $obj = new D(111, 222, 333); apc_store('foobar', $obj); $obj = apc_fetch('foobar'); $obj = apc_fetch('foobar'); var_dump($obj);}foo();
|
||||
class A {
|
||||
public function __construct($i, $j, $k) {
|
||||
$this->a = $i * $i;
|
||||
$this->b = $j * $j;
|
||||
$this->c = $k * $k;
|
||||
}
|
||||
public $a;
|
||||
protected $b;
|
||||
private $c;
|
||||
public $aa = 'aa';
|
||||
protected $bb = false;
|
||||
private $cc = 1.22;
|
||||
}
|
||||
class B extends A {
|
||||
public function __construct($i, $j, $k) {
|
||||
$this->a = $i + $i;
|
||||
$this->b = $j + $j;
|
||||
$this->c = $k + $k;
|
||||
}
|
||||
public $a;
|
||||
protected $b;
|
||||
private $c;
|
||||
public $aa = 'aaa';
|
||||
protected $bb = 4;
|
||||
private $cc = 1.222;
|
||||
}
|
||||
class C extends B {
|
||||
public function __construct($i, $j, $k) {
|
||||
$this->a = $i + $i + $i;
|
||||
$this->b = $j + $j + $j;
|
||||
$this->c = $k + $k + $k;
|
||||
}
|
||||
public $a;
|
||||
protected $b;
|
||||
private $c;
|
||||
public $aa = 'aaaa';
|
||||
protected $bb = 40;
|
||||
private $cc = 1.333;
|
||||
}
|
||||
class D extends C {
|
||||
public function __construct($i, $j, $k) {
|
||||
$this->a = $i + $i + $i;
|
||||
$this->b = $j + $j + $j;
|
||||
$this->c = $k + $k + $k;
|
||||
}
|
||||
public $a;
|
||||
public $b;
|
||||
private $c;
|
||||
public $aa = 'aaaaa';
|
||||
public $bb = 400;
|
||||
private $cc = 1.3333;
|
||||
}
|
||||
function foo() {
|
||||
$obj = new A(111, 222, 333);
|
||||
apc_store('foobar', $obj);
|
||||
$obj = apc_fetch('foobar');
|
||||
$obj = apc_fetch('foobar');
|
||||
var_dump($obj);
|
||||
$obj = new B(111, 222, 333);
|
||||
apc_store('foobar', $obj);
|
||||
$obj = apc_fetch('foobar');
|
||||
$obj = apc_fetch('foobar');
|
||||
var_dump($obj);
|
||||
$obj = new C(111, 222, 333);
|
||||
apc_store('foobar', $obj);
|
||||
$obj = apc_fetch('foobar');
|
||||
$obj = apc_fetch('foobar');
|
||||
var_dump($obj);
|
||||
$obj = new D(111, 222, 333);
|
||||
apc_store('foobar', $obj);
|
||||
$obj = apc_fetch('foobar');
|
||||
$obj = apc_fetch('foobar');
|
||||
var_dump($obj);
|
||||
}
|
||||
foo();
|
||||
|
||||
@@ -1,3 +1,77 @@
|
||||
<?php
|
||||
|
||||
class A { public function __construct($i, $j, $k) { $this->a = $i * $i; $this->b = $j * $j; $this->c = $k * $k; } public $a; protected $b; private $c; public $aa = 'aa'; protected $bb = false; private $cc = 1.22;}class B extends A { public function __construct($i, $j, $k) { $this->a = $i + $i; $this->b = $j + $j; $this->c = $k + $k; } public $a; protected $b; private $c; public $aa = 'aaa'; protected $bb = 4; private $cc = 1.222;}class C extends B { public function __construct($i, $j, $k) { $this->a = $i + $i + $i; $this->b = $j + $j + $j; $this->c = $k + $k + $k; } public $a; protected $b; private $c; public $aa = 'aaaa'; protected $bb = 40; private $cc = 1.333;}class D extends C { public function __construct($i, $j, $k) { $this->a = $i + $i + $i; $this->b = $j + $j + $j; $this->c = $k + $k + $k; } public $a; public $b; private $c; public $aa = 'aaaaa'; public $bb = 400; private $cc = 1.3333;}function foo() { $obj = new A(111, 222, 333); apc_store('foobar', $obj); $obj = apc_fetch('foobar'); $obj = apc_fetch('foobar'); var_dump($obj); $obj = new B(111, 222, 333); apc_store('foobar', $obj); $obj = apc_fetch('foobar'); $obj = apc_fetch('foobar'); var_dump($obj); $obj = new C(111, 222, 333); apc_store('foobar', $obj); $obj = apc_fetch('foobar'); $obj = apc_fetch('foobar'); var_dump($obj); $obj = new D(111, 222, 333); apc_store('foobar', $obj); $obj = apc_fetch('foobar'); $obj = apc_fetch('foobar'); var_dump($obj);}foo();
|
||||
class A {
|
||||
public function __construct($i, $j, $k) {
|
||||
$this->a = $i * $i;
|
||||
$this->b = $j * $j;
|
||||
$this->c = $k * $k;
|
||||
}
|
||||
public $a;
|
||||
protected $b;
|
||||
private $c;
|
||||
public $aa = 'aa';
|
||||
protected $bb = false;
|
||||
private $cc = 1.22;
|
||||
}
|
||||
class B extends A {
|
||||
public function __construct($i, $j, $k) {
|
||||
$this->a = $i + $i;
|
||||
$this->b = $j + $j;
|
||||
$this->c = $k + $k;
|
||||
}
|
||||
public $a;
|
||||
protected $b;
|
||||
private $c;
|
||||
public $aa = 'aaa';
|
||||
protected $bb = 4;
|
||||
private $cc = 1.222;
|
||||
}
|
||||
class C extends B {
|
||||
public function __construct($i, $j, $k) {
|
||||
$this->a = $i + $i + $i;
|
||||
$this->b = $j + $j + $j;
|
||||
$this->c = $k + $k + $k;
|
||||
}
|
||||
public $a;
|
||||
protected $b;
|
||||
private $c;
|
||||
public $aa = 'aaaa';
|
||||
protected $bb = 40;
|
||||
private $cc = 1.333;
|
||||
}
|
||||
class D extends C {
|
||||
public function __construct($i, $j, $k) {
|
||||
$this->a = $i + $i + $i;
|
||||
$this->b = $j + $j + $j;
|
||||
$this->c = $k + $k + $k;
|
||||
}
|
||||
public $a;
|
||||
public $b;
|
||||
private $c;
|
||||
public $aa = 'aaaaa';
|
||||
public $bb = 400;
|
||||
private $cc = 1.3333;
|
||||
}
|
||||
function foo() {
|
||||
$obj = new A(111, 222, 333);
|
||||
apc_store('foobar', $obj);
|
||||
$obj = apc_fetch('foobar');
|
||||
$obj = apc_fetch('foobar');
|
||||
var_dump($obj);
|
||||
$obj = new B(111, 222, 333);
|
||||
apc_store('foobar', $obj);
|
||||
$obj = apc_fetch('foobar');
|
||||
$obj = apc_fetch('foobar');
|
||||
var_dump($obj);
|
||||
$obj = new C(111, 222, 333);
|
||||
apc_store('foobar', $obj);
|
||||
$obj = apc_fetch('foobar');
|
||||
$obj = apc_fetch('foobar');
|
||||
var_dump($obj);
|
||||
$obj = new D(111, 222, 333);
|
||||
apc_store('foobar', $obj);
|
||||
$obj = apc_fetch('foobar');
|
||||
$obj = apc_fetch('foobar');
|
||||
var_dump($obj);
|
||||
}
|
||||
foo();
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
|
||||
|
||||
class C {}
|
||||
class C {
|
||||
}
|
||||
class D {
|
||||
public function __construct($f) {
|
||||
$this->map = $f;
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<?php
|
||||
|
||||
|
||||
$v = 42;
|
||||
$o1 = new stdclass;
|
||||
$o2 = new stdclass;
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<?php
|
||||
|
||||
|
||||
class A {
|
||||
public function gen($a, $b) {
|
||||
yield $a;
|
||||
@@ -10,7 +9,9 @@ class A {
|
||||
|
||||
$x = new A;
|
||||
$x->cache_gen = $x->gen('a', 'b');
|
||||
foreach ($x->cache_gen as $v) { var_dump($v); }
|
||||
foreach ($x->cache_gen as $v) {
|
||||
var_dump($v);
|
||||
}
|
||||
apc_store('key', $x);
|
||||
$y = apc_fetch('key');
|
||||
print_r($y->cache_gen);
|
||||
|
||||
@@ -1,4 +1,11 @@
|
||||
<?php
|
||||
|
||||
$f = function($a) {
|
||||
return $a;
|
||||
}
|
||||
;
|
||||
var_dump($f('x'));
|
||||
apc_store('key', $f);
|
||||
$g = apc_fetch('key');
|
||||
print_r($g);
|
||||
|
||||
$f = function($a) { return $a; }; var_dump($f('x')); apc_store('key', $f); $g = apc_fetch('key'); print_r($g);
|
||||
@@ -1,3 +1,9 @@
|
||||
<?php
|
||||
|
||||
function test($x) { apc_store('foo', array('a'.$x, array($x))); $a = apc_fetch('foo'); $x = array_intersect($a, $a); var_dump($x);}test('foo');
|
||||
function test($x) {
|
||||
apc_store('foo', array('a'.$x, array($x)));
|
||||
$a = apc_fetch('foo');
|
||||
$x = array_intersect($a, $a);
|
||||
var_dump($x);
|
||||
}
|
||||
test('foo');
|
||||
|
||||
@@ -1,3 +1,20 @@
|
||||
<?php
|
||||
|
||||
class X implements Serializable { public function serialize() { return 'true'; } public function unserialize($serialized ) { }}function test() { $a[] = $x = new X; $a[] = $x; $a[] = $x; apc_store('foo', $a); $a = apc_fetch('foo'); var_dump($a); $a = apc_fetch('foo'); var_dump($a);}test();
|
||||
class X implements Serializable {
|
||||
public function serialize() {
|
||||
return 'true';
|
||||
}
|
||||
public function unserialize($serialized ) {
|
||||
}
|
||||
}
|
||||
function test() {
|
||||
$a[] = $x = new X;
|
||||
$a[] = $x;
|
||||
$a[] = $x;
|
||||
apc_store('foo', $a);
|
||||
$a = apc_fetch('foo');
|
||||
var_dump($a);
|
||||
$a = apc_fetch('foo');
|
||||
var_dump($a);
|
||||
}
|
||||
test();
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<?php
|
||||
|
||||
|
||||
function test($str) {
|
||||
return strlen($str);
|
||||
}
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
<?php
|
||||
|
||||
function f($x) { $b = $x; $b++; }$a = 1;f(&$a);var_dump($a);
|
||||
function f($x) {
|
||||
$b = $x;
|
||||
$b++;
|
||||
}
|
||||
$a = 1;
|
||||
f(&$a);
|
||||
var_dump($a);
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
<?php
|
||||
|
||||
var_dump(array('b' => '2', 'a' => '1'));
|
||||
var_dump(array('b' => '2', 'a' => '1'));
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
<?php
|
||||
|
||||
var_dump(array(1 => 'a', 0 => 'b'));
|
||||
var_dump(array(1 => 'a', 0 => 'b'));
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<?php
|
||||
|
||||
$a = array(); var_dump($a);
|
||||
$a = array();
|
||||
var_dump($a);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<?php
|
||||
|
||||
$a = array(1); var_dump($a);
|
||||
$a = array(1);
|
||||
var_dump($a);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<?php
|
||||
|
||||
$a = array(2, 1); var_dump($a);
|
||||
$a = array(2, 1);
|
||||
var_dump($a);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<?php
|
||||
|
||||
$a = array('1'); var_dump($a);
|
||||
$a = array('1');
|
||||
var_dump($a);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<?php
|
||||
|
||||
$a = array('2', '1'); var_dump($a);
|
||||
$a = array('2', '1');
|
||||
var_dump($a);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<?php
|
||||
|
||||
$a = array('a' => 1); var_dump($a);
|
||||
$a = array('a' => 1);
|
||||
var_dump($a);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<?php
|
||||
|
||||
$a = array('b' => 2, 'a' => 1); var_dump($a);
|
||||
$a = array('b' => 2, 'a' => 1);
|
||||
var_dump($a);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<?php
|
||||
|
||||
$a = array('a' => '1'); var_dump($a);
|
||||
$a = array('a' => '1');
|
||||
var_dump($a);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<?php
|
||||
|
||||
$a = array('b' => '2', 'a' => '1'); var_dump($a);
|
||||
$a = array('b' => '2', 'a' => '1');
|
||||
var_dump($a);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<?php
|
||||
|
||||
$a = array('a' => 1, 'a' => 2); var_dump($a);
|
||||
$a = array('a' => 1, 'a' => 2);
|
||||
var_dump($a);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<?php
|
||||
|
||||
$a = array('a' => 1, 'b' => 2, 'a' => 3); var_dump($a);
|
||||
$a = array('a' => 1, 'b' => 2, 'a' => 3);
|
||||
var_dump($a);
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
<?php
|
||||
|
||||
$a = array(1); $b = $a; var_dump($b);
|
||||
$a = array(1);
|
||||
$b = $a;
|
||||
var_dump($b);
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
<?php
|
||||
|
||||
$a = array(1); $b = $a; $a = array(2); var_dump($b);
|
||||
$a = array(1);
|
||||
$b = $a;
|
||||
$a = array(2);
|
||||
var_dump($b);
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
<?php
|
||||
|
||||
$a = array(1); $b = $a; $a = array(2); var_dump($a);
|
||||
$a = array(1);
|
||||
$b = $a;
|
||||
$a = array(2);
|
||||
var_dump($a);
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
<?php
|
||||
|
||||
$a = array(1); $b = $a; $b = array(2); var_dump($a);
|
||||
$a = array(1);
|
||||
$b = $a;
|
||||
$b = array(2);
|
||||
var_dump($a);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<?php
|
||||
|
||||
$a = array(); foreach ($a as $item) print '['.$item.']';
|
||||
$a = array();
|
||||
foreach ($a as $item) print '['.$item.']';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<?php
|
||||
|
||||
$a = array(1); foreach ($a as $item) print '['.$item.']';
|
||||
$a = array(1);
|
||||
foreach ($a as $item) print '['.$item.']';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<?php
|
||||
|
||||
$a = array(2,1); foreach ($a as $item) print '['.$item.']';
|
||||
$a = array(2,1);
|
||||
foreach ($a as $item) print '['.$item.']';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<?php
|
||||
|
||||
$a = array('b' => 2, 'a' => 1); foreach ($a as $item) print '['.$item.']';
|
||||
$a = array('b' => 2, 'a' => 1);
|
||||
foreach ($a as $item) print '['.$item.']';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<?php
|
||||
|
||||
$a = array('b' => 2, 'a' => 1); foreach ($a as $name => $item) print '['.$name.'=>'.$item.']';
|
||||
$a = array('b' => 2, 'a' => 1);
|
||||
foreach ($a as $name => $item) print '['.$name.'=>'.$item.']';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<?php
|
||||
|
||||
$a = array(2,1); var_dump($a[0]);
|
||||
$a = array(2,1);
|
||||
var_dump($a[0]);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<?php
|
||||
|
||||
$a = array(2,1); var_dump($a[-1]);
|
||||
$a = array(2,1);
|
||||
var_dump($a[-1]);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<?php
|
||||
|
||||
$a = array(2,1); var_dump($a[3]);
|
||||
$a = array(2,1);
|
||||
var_dump($a[3]);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<?php
|
||||
|
||||
$a = array('b' => 2, 'a' => 1); var_dump($a['b']);
|
||||
$a = array('b' => 2, 'a' => 1);
|
||||
var_dump($a['b']);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<?php
|
||||
|
||||
$a = array('b' => 2, 'a' => 1); var_dump($a['bogus']);
|
||||
$a = array('b' => 2, 'a' => 1);
|
||||
var_dump($a['bogus']);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<?php
|
||||
|
||||
$a = array(2, 'test' => 1); var_dump($a);
|
||||
$a = array(2, 'test' => 1);
|
||||
var_dump($a);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<?php
|
||||
|
||||
$a = array(1.2 => 'test'); var_dump($a[1]);
|
||||
$a = array(1.2 => 'test');
|
||||
var_dump($a[1]);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<?php
|
||||
|
||||
$a = array(1, 'test'); var_dump($a);
|
||||
$a = array(1, 'test');
|
||||
var_dump($a);
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
<?php
|
||||
|
||||
$a = array(); $a[] = 3; $a[] = 'test'; var_dump($a);
|
||||
$a = array();
|
||||
$a[] = 3;
|
||||
$a[] = 'test';
|
||||
var_dump($a);
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
<?php
|
||||
|
||||
$a = array(); $a['test'] = 3; var_dump($a);
|
||||
$a = array();
|
||||
$a['test'] = 3;
|
||||
var_dump($a);
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
<?php
|
||||
|
||||
$a = array(1); $a['test'] = 3; var_dump($a);
|
||||
$a = array(1);
|
||||
$a['test'] = 3;
|
||||
var_dump($a);
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
<?php
|
||||
|
||||
$a = array(1, 2); $a[10] = 3; var_dump($a);
|
||||
$a = array(1, 2);
|
||||
$a[10] = 3;
|
||||
var_dump($a);
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
<?php
|
||||
|
||||
$a = array(1, 2); $a['10'] = 3; var_dump($a);
|
||||
$a = array(1, 2);
|
||||
$a['10'] = 3;
|
||||
var_dump($a);
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
<?php
|
||||
|
||||
$a = array(1, 2); $b = $a; $a['10'] = 3; var_dump($b);
|
||||
$a = array(1, 2);
|
||||
$b = $a;
|
||||
$a['10'] = 3;
|
||||
var_dump($b);
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
<?php
|
||||
|
||||
$a = array(1, 2); $b = $a; $a['10'] = 3; var_dump($a);
|
||||
$a = array(1, 2);
|
||||
$b = $a;
|
||||
$a['10'] = 3;
|
||||
var_dump($a);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<?php
|
||||
|
||||
$a[] = 3; var_dump($a);
|
||||
$a[] = 3;
|
||||
var_dump($a);
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
<?php
|
||||
|
||||
$a = array(); $a[] = 3; var_dump($a);
|
||||
$a = array();
|
||||
$a[] = 3;
|
||||
var_dump($a);
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
<?php
|
||||
|
||||
$a = array(1); $a[] = 3; var_dump($a);
|
||||
$a = array(1);
|
||||
$a[] = 3;
|
||||
var_dump($a);
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
<?php
|
||||
|
||||
$a = array(1,2); $a[] = 3; var_dump($a);
|
||||
$a = array(1,2);
|
||||
$a[] = 3;
|
||||
var_dump($a);
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
<?php
|
||||
|
||||
$a = ''; $a[] = 'test'; var_dump($a);
|
||||
$a = '';
|
||||
$a[] = 'test';
|
||||
var_dump($a);
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
<?php
|
||||
|
||||
$a = array(1, 2); foreach ($a as $item) { print 'A['.$item.']'; if ($item == 1) $a[] = 'new item'; } foreach ($a as $item) { print 'B['.$item.']'; }var_dump($a);
|
||||
$a = array(1, 2);
|
||||
foreach ($a as $item) {
|
||||
print 'A['.$item.']';
|
||||
if ($item == 1) $a[] = 'new item';
|
||||
}
|
||||
foreach ($a as $item) {
|
||||
print 'B['.$item.']';
|
||||
}
|
||||
var_dump($a);
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
<?php
|
||||
|
||||
$a = array(1); $b = array(2); $c = $a + $b; var_dump($c);
|
||||
$a = array(1);
|
||||
$b = array(2);
|
||||
$c = $a + $b;
|
||||
var_dump($c);
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
<?php
|
||||
|
||||
$a = array(1,2); $b = array(2,3); $c = $a + $b; var_dump($c);
|
||||
$a = array(1,2);
|
||||
$b = array(2,3);
|
||||
$c = $a + $b;
|
||||
var_dump($c);
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
<?php
|
||||
|
||||
$a = array(1,2); $b = array(2); $c = $a + $b; var_dump($c);
|
||||
$a = array(1,2);
|
||||
$b = array(2);
|
||||
$c = $a + $b;
|
||||
var_dump($c);
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
<?php
|
||||
|
||||
$a = array(1); $b = array(2,3); $c = $a + $b; var_dump($c);
|
||||
$a = array(1);
|
||||
$b = array(2,3);
|
||||
$c = $a + $b;
|
||||
var_dump($c);
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
<?php
|
||||
|
||||
$array_variables = array( array(), array(NULL), array());foreach ($array_variables as $array_var) { $keys = array_keys($array_var); foreach ($keys as $key_value) { echo $key_value; }}
|
||||
$array_variables = array( array(), array(NULL), array());
|
||||
foreach ($array_variables as $array_var) {
|
||||
$keys = array_keys($array_var);
|
||||
foreach ($keys as $key_value) {
|
||||
echo $key_value;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
<?php
|
||||
|
||||
$a = array('a' => 1, 'b' => 2);foreach ($a as $b => $c) { var_dump($b); unset($a['b']);}
|
||||
$a = array('a' => 1, 'b' => 2);
|
||||
foreach ($a as $b => $c) {
|
||||
var_dump($b);
|
||||
unset($a['b']);
|
||||
}
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
<?php
|
||||
|
||||
$a = array('a' => 1, 'b' => 2);foreach ($a as $b => &$c) { var_dump($b); unset($a['b']);}
|
||||
$a = array('a' => 1, 'b' => 2);
|
||||
foreach ($a as $b => &$c) {
|
||||
var_dump($b);
|
||||
unset($a['b']);
|
||||
}
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
<?php
|
||||
|
||||
function gen() { $a = array('a' => 1, 'b' => 2); foreach ($a as $b => &$c) { yield null; var_dump($b); unset($a['b']); }}foreach (gen() as $_) {}
|
||||
function gen() {
|
||||
$a = array('a' => 1, 'b' => 2);
|
||||
foreach ($a as $b => &$c) {
|
||||
yield null;
|
||||
var_dump($b);
|
||||
unset($a['b']);
|
||||
}
|
||||
}
|
||||
foreach (gen() as $_) {
|
||||
}
|
||||
|
||||
@@ -1,3 +1,15 @@
|
||||
<?php
|
||||
|
||||
$foo = array(1,2,3,4);foreach ($foo as $key => $val) { if($val == 2) { $foo[$key] = 0; } else if($val == 3) { unset($foo[$key]); } else { $foo[$key] = $val + 1; }}var_dump($foo);
|
||||
$foo = array(1,2,3,4);
|
||||
foreach ($foo as $key => $val) {
|
||||
if($val == 2) {
|
||||
$foo[$key] = 0;
|
||||
}
|
||||
else if($val == 3) {
|
||||
unset($foo[$key]);
|
||||
}
|
||||
else {
|
||||
$foo[$key] = $val + 1;
|
||||
}
|
||||
}
|
||||
var_dump($foo);
|
||||
|
||||
@@ -1,3 +1,15 @@
|
||||
<?php
|
||||
|
||||
$foo = array(1,2,3,4);foreach ($foo as $key => &$val) { if($val == 2) { $foo[$key] = 0; } else if($val == 3) { unset($foo[$key]); } else { $val++; }}var_dump($foo);
|
||||
$foo = array(1,2,3,4);
|
||||
foreach ($foo as $key => &$val) {
|
||||
if($val == 2) {
|
||||
$foo[$key] = 0;
|
||||
}
|
||||
else if($val == 3) {
|
||||
unset($foo[$key]);
|
||||
}
|
||||
else {
|
||||
$val++;
|
||||
}
|
||||
}
|
||||
var_dump($foo);
|
||||
|
||||
@@ -1,3 +1,20 @@
|
||||
<?php
|
||||
|
||||
function gen() { $foo = array(1,2,3,4); foreach ($foo as $key => &$val) { if($val == 2) { $foo[$key] = 0; } else if($val == 3) { unset($foo[$key]); } else { $val++; } } var_dump($foo); yield null;}foreach (gen() as $_) {}
|
||||
function gen() {
|
||||
$foo = array(1,2,3,4);
|
||||
foreach ($foo as $key => &$val) {
|
||||
if($val == 2) {
|
||||
$foo[$key] = 0;
|
||||
}
|
||||
else if($val == 3) {
|
||||
unset($foo[$key]);
|
||||
}
|
||||
else {
|
||||
$val++;
|
||||
}
|
||||
}
|
||||
var_dump($foo);
|
||||
yield null;
|
||||
}
|
||||
foreach (gen() as $_) {
|
||||
}
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
<?php
|
||||
|
||||
$a = array('a' => 'apple', 'b' => 'banana', 'c' => 'citrus');foreach ($a as $k1 => &$v1) { foreach ($a as $k2 => &$v2) { if ($k2 == 'a') { unset($a[$k2]); } var_dump($v1, $v2); }}
|
||||
$a = array('a' => 'apple', 'b' => 'banana', 'c' => 'citrus');
|
||||
foreach ($a as $k1 => &$v1) {
|
||||
foreach ($a as $k2 => &$v2) {
|
||||
if ($k2 == 'a') {
|
||||
unset($a[$k2]);
|
||||
}
|
||||
var_dump($v1, $v2);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,16 @@
|
||||
<?php
|
||||
|
||||
function gen() { $a = array('a' => 'apple', 'b' => 'banana', 'c' => 'citrus'); foreach ($a as $k1 => &$v1) { foreach ($a as $k2 => &$v2) { if ($k2 == 'a') { unset($a[$k2]); } var_dump($v1, $v2); } } yield null;}foreach (gen() as $_) {}
|
||||
function gen() {
|
||||
$a = array('a' => 'apple', 'b' => 'banana', 'c' => 'citrus');
|
||||
foreach ($a as $k1 => &$v1) {
|
||||
foreach ($a as $k2 => &$v2) {
|
||||
if ($k2 == 'a') {
|
||||
unset($a[$k2]);
|
||||
}
|
||||
var_dump($v1, $v2);
|
||||
}
|
||||
}
|
||||
yield null;
|
||||
}
|
||||
foreach (gen() as $_) {
|
||||
}
|
||||
|
||||
@@ -1,3 +1,24 @@
|
||||
<?php
|
||||
|
||||
$stack = array();function push_stack(){ global $stack; static $index = 0; $val = $index++; array_push($stack, $val);}function pop_stack(){ global $stack; if ($stack) { array_pop($stack); }}push_stack();pop_stack();pop_stack();pop_stack();push_stack();pop_stack();push_stack();$info = array(count($stack), $stack[count($stack)-1], $stack);var_dump($info);
|
||||
$stack = array();
|
||||
function push_stack(){
|
||||
global $stack;
|
||||
static $index = 0;
|
||||
$val = $index++;
|
||||
array_push($stack, $val);
|
||||
}
|
||||
function pop_stack(){
|
||||
global $stack;
|
||||
if ($stack) {
|
||||
array_pop($stack);
|
||||
}
|
||||
}
|
||||
push_stack();
|
||||
pop_stack();
|
||||
pop_stack();
|
||||
pop_stack();
|
||||
push_stack();
|
||||
pop_stack();
|
||||
push_stack();
|
||||
$info = array(count($stack), $stack[count($stack)-1], $stack);
|
||||
var_dump($info);
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
<?php
|
||||
|
||||
class A { function f($a) { var_dump($a === null); } }$a = true; $a = new A();$a->f(array());
|
||||
class A {
|
||||
function f($a) {
|
||||
var_dump($a === null);
|
||||
}
|
||||
}
|
||||
$a = true;
|
||||
$a = new A();
|
||||
$a->f(array());
|
||||
|
||||
@@ -1,3 +1,22 @@
|
||||
<?php
|
||||
|
||||
function test($a) { var_dump(current($a)); while (next($a)) echo '.'; $a[] = 2; $a[] = 3; var_dump(current($a)); var_dump(next($a)); var_dump(next($a)); var_dump(current($a)); $a[17] = 4; var_dump(current($a)); $a[18] = 5; var_dump(current($a)); while(next($a)) echo '.'; var_dump(current($a)); $a[1] = 5; var_dump(current($a));}test(array(1));test(array(1,2,3,4,5,6,7,8,9));
|
||||
function test($a) {
|
||||
var_dump(current($a));
|
||||
while (next($a)) echo '.';
|
||||
$a[] = 2;
|
||||
$a[] = 3;
|
||||
var_dump(current($a));
|
||||
var_dump(next($a));
|
||||
var_dump(next($a));
|
||||
var_dump(current($a));
|
||||
$a[17] = 4;
|
||||
var_dump(current($a));
|
||||
$a[18] = 5;
|
||||
var_dump(current($a));
|
||||
while(next($a)) echo '.';
|
||||
var_dump(current($a));
|
||||
$a[1] = 5;
|
||||
var_dump(current($a));
|
||||
}
|
||||
test(array(1));
|
||||
test(array(1,2,3,4,5,6,7,8,9));
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
<?php
|
||||
|
||||
function foo() { $a = array(); $a[] = '1.1'; $a[] = '2.2'; $a[] = '3.3'; var_dump(array_sum($a)); var_dump(array_product($a));}foo();
|
||||
function foo() {
|
||||
$a = array();
|
||||
$a[] = '1.1';
|
||||
$a[] = '2.2';
|
||||
$a[] = '3.3';
|
||||
var_dump(array_sum($a));
|
||||
var_dump(array_product($a));
|
||||
}
|
||||
foo();
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
<?php
|
||||
|
||||
$array = array('1' => array(2 => 'test'));unset($array['1'][2]);var_dump($array['1']);
|
||||
$array = array('1' => array(2 => 'test'));
|
||||
unset($array['1'][2]);
|
||||
var_dump($array['1']);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<?php
|
||||
|
||||
$x['1'] += 1;var_dump($x);
|
||||
$x['1'] += 1;
|
||||
var_dump($x);
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
<?php
|
||||
|
||||
function foo($x) { var_dump($x); }function test() { $data = null; $data['bar']['baz'] = 1; foo($data);}test();
|
||||
function foo($x) {
|
||||
var_dump($x);
|
||||
}
|
||||
function test() {
|
||||
$data = null;
|
||||
$data['bar']['baz'] = 1;
|
||||
foo($data);
|
||||
}
|
||||
test();
|
||||
|
||||
@@ -1,3 +1,29 @@
|
||||
<?php
|
||||
|
||||
class A { public function __call($method, $args) { foreach ($args as $a) { var_dump($a); } var_dump(array_pop($args)); if (isset($args[1])) { var_dump($args[1]); } reset($args); if (key($args) === 0) { $args = array(5); } if (current($args) === 0) { $args = array(5); } if (next($args) === 0) { $args = array(5); } var_dump($args['1']); var_dump($args['hi']); $args = $args + array(2 => 0, 3 => true, 4 => true); var_dump($args); }}$obj = new A;$obj->foo(1, 2, 3);
|
||||
class A {
|
||||
public function __call($method, $args) {
|
||||
foreach ($args as $a) {
|
||||
var_dump($a);
|
||||
}
|
||||
var_dump(array_pop($args));
|
||||
if (isset($args[1])) {
|
||||
var_dump($args[1]);
|
||||
}
|
||||
reset($args);
|
||||
if (key($args) === 0) {
|
||||
$args = array(5);
|
||||
}
|
||||
if (current($args) === 0) {
|
||||
$args = array(5);
|
||||
}
|
||||
if (next($args) === 0) {
|
||||
$args = array(5);
|
||||
}
|
||||
var_dump($args['1']);
|
||||
var_dump($args['hi']);
|
||||
$args = $args + array(2 => 0, 3 => true, 4 => true);
|
||||
var_dump($args);
|
||||
}
|
||||
}
|
||||
$obj = new A;
|
||||
$obj->foo(1, 2, 3);
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
<?php
|
||||
|
||||
function test($q, $a, $b, $c) { $x = array($a, 'foo'=> $a); if ($x) { var_dump(isset($x[0][1]), isset($x['foo'][1])); var_dump(isset($x[$b][1]), isset($x[$c][1])); var_dump(end($x[0])); }}test(5, array(0,1), 0, 'foo');
|
||||
function test($q, $a, $b, $c) {
|
||||
$x = array($a, 'foo'=> $a);
|
||||
if ($x) {
|
||||
var_dump(isset($x[0][1]), isset($x['foo'][1]));
|
||||
var_dump(isset($x[$b][1]), isset($x[$c][1]));
|
||||
var_dump(end($x[0]));
|
||||
}
|
||||
}
|
||||
test(5, array(0,1), 0, 'foo');
|
||||
|
||||
@@ -1,3 +1,15 @@
|
||||
<?php
|
||||
|
||||
class X { function __destruct() { var_dump('two'); } }function test($a) { $x = array(new X); $a['foo'] = $x; var_dump('one'); var_dump($x);}test(1);var_dump('three');
|
||||
class X {
|
||||
function __destruct() {
|
||||
var_dump('two');
|
||||
}
|
||||
}
|
||||
function test($a) {
|
||||
$x = array(new X);
|
||||
$a['foo'] = $x;
|
||||
var_dump('one');
|
||||
var_dump($x);
|
||||
}
|
||||
test(1);
|
||||
var_dump('three');
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
<?php
|
||||
|
||||
$a = array('a' => null, 'b' => 123, 'c' => false);var_dump(array_keys($a));var_dump(array_keys($a, null));var_dump(array_keys($a, null, true));
|
||||
$a = array('a' => null, 'b' => 123, 'c' => false);
|
||||
var_dump(array_keys($a));
|
||||
var_dump(array_keys($a, null));
|
||||
var_dump(array_keys($a, null, true));
|
||||
|
||||
@@ -1,7 +1,26 @@
|
||||
<?php
|
||||
|
||||
|
||||
class A implements ArrayAccess { public $a; public function offsetExists($offset) { echo "offsetExist"; return false; } public function offsetGet($offset) { echo "offsetGet"; return $this->$offset.'get'; } public function offsetSet($offset, $value) { $this->$offset = $value.'set'; } public function offsetUnset($offset) { $this->$offset = 'unset'; }}function f() { var_dump('f()'); return 1; }
|
||||
class A implements ArrayAccess {
|
||||
public $a;
|
||||
public function offsetExists($offset) {
|
||||
echo "offsetExist";
|
||||
return false;
|
||||
}
|
||||
public function offsetGet($offset) {
|
||||
echo "offsetGet";
|
||||
return $this->$offset.'get';
|
||||
}
|
||||
public function offsetSet($offset, $value) {
|
||||
$this->$offset = $value.'set';
|
||||
}
|
||||
public function offsetUnset($offset) {
|
||||
$this->$offset = 'unset';
|
||||
}
|
||||
}
|
||||
function f() {
|
||||
var_dump('f()');
|
||||
return 1;
|
||||
}
|
||||
function test($a) {
|
||||
$a['foo'] .= f();
|
||||
$a['bar'] += f();
|
||||
|
||||
@@ -1,3 +1,29 @@
|
||||
<?php
|
||||
|
||||
class A implements ArrayAccess { public $a; public function offsetExists($offset) { echo "offsetExist"; return false; } public function offsetGet($offset) { echo "offsetGet"; return $this->$offset.'get'; } public function offsetSet($offset, $value) { $this->$offset = $value.'set'; } public function offsetUnset($offset) { $this->$offset = 'unset'; }}$obj = new A();if (!isset($obj['a'])) { $obj['a'] = 'test';}if (!empty($obj['a'])) { $obj['a'] = 'test2';}var_dump($obj['a']);unset($obj['a']);var_dump($obj['a']);
|
||||
class A implements ArrayAccess {
|
||||
public $a;
|
||||
public function offsetExists($offset) {
|
||||
echo "offsetExist";
|
||||
return false;
|
||||
}
|
||||
public function offsetGet($offset) {
|
||||
echo "offsetGet";
|
||||
return $this->$offset.'get';
|
||||
}
|
||||
public function offsetSet($offset, $value) {
|
||||
$this->$offset = $value.'set';
|
||||
}
|
||||
public function offsetUnset($offset) {
|
||||
$this->$offset = 'unset';
|
||||
}
|
||||
}
|
||||
$obj = new A();
|
||||
if (!isset($obj['a'])) {
|
||||
$obj['a'] = 'test';
|
||||
}
|
||||
if (!empty($obj['a'])) {
|
||||
$obj['a'] = 'test2';
|
||||
}
|
||||
var_dump($obj['a']);
|
||||
unset($obj['a']);
|
||||
var_dump($obj['a']);
|
||||
|
||||
@@ -1,3 +1,101 @@
|
||||
<?php
|
||||
|
||||
function offsetGet($index) { echo ("GET0: $index\n");}class ArrayAccessImpl implements ArrayAccess { public $data = array(); public function offsetUnset($index) { echo "UNSET: $index\n"; } public function offsetSet($index, $value) { echo ("SET: $index\n"); if(isset($data[$index])) { unset($data[$index]); } $u = &$this->data[$index]; if(is_array($value)) { $u = new ArrayAccessImpl(); foreach($value as $idx=>$e) $u[$idx]=$e; } else $u=$value; } public function offsetGet($index) { echo ("GET: $index\n"); if(!isset($this->data[$index])) $this->data[$index]=new ArrayAccessImpl(); return $this->data[$index]; } public function offsetExists($index) { echo ("EXISTS: $index\n"); if(isset($this->data[$index])) { if($this->data[$index] instanceof ArrayAccessImpl) { if(count($this->data[$index]->data)>0) return true; else return false; } else return true; } else return false; }}class ArrayAccessImpl2 extends ArrayAccessImpl { public function offsetUnset($index) { echo "UNSET2: $index\n"; } public function offsetSet($index, $value) { echo ("SET2: $index\n"); if(isset($data[$index])) { unset($data[$index]); } $u = &$this->data[$index]; if(is_array($value)) { $u = new ArrayAccessImpl(); foreach($value as $idx=>$e) $u[$idx]=$e; } else $u=$value; } public function offsetGet($index) { echo ("GET2: $index\n"); if(!isset($this->data[$index])) $this->data[$index]=new ArrayAccessImpl(); return $this->data[$index]; } public function offsetExists($index) { echo ("EXISTS2: $index\n"); if(isset($this->data[$index])) { if($this->data[$index] instanceof ArrayAccessImpl) { if(count($this->data[$index]->data)>0) return true; else return false; } else return true; } else return false; }}offsetGet('foo');$data = new ArrayAccessImpl();$data['string']="Just a simple string";$data['number']=33;$data['array']['another_string']="Alpha";$data['array']['some_object']=new stdClass();$data['array']['another_array']['x']['y']="Beta";$data['blank_array']=array();print_r(isset($data['array']));print_r($data['array']['non_existent']);print_r(isset($data['array']['non_existent']));print_r($data['blank_array']);print_r(isset($data['blank_array']));unset($data['blank_array']);print_r($data);$data2 = new ArrayAccessImpl2();$data2['string']="Just a simple string";$data2['number']=33;$data2['array']['another_string']="Alpha";$data2['array']['some_object']=new stdClass();$data2['array']['another_array']['x']['y']="Beta";$data2['blank_array']=array();print_r(isset($data2['array']));print_r($data2['array']['non_existent']);print_r(isset($data2['array']['non_existent']));print_r($data2['blank_array']);print_r(isset($data2['blank_array']));unset($data2['blank_array']);print_r($data2);
|
||||
function offsetGet($index) {
|
||||
echo ("GET0: $index\n");
|
||||
}
|
||||
class ArrayAccessImpl implements ArrayAccess {
|
||||
public $data = array();
|
||||
public function offsetUnset($index) {
|
||||
echo "UNSET: $index\n";
|
||||
}
|
||||
public function offsetSet($index, $value) {
|
||||
echo ("SET: $index\n");
|
||||
if(isset($data[$index])) {
|
||||
unset($data[$index]);
|
||||
}
|
||||
$u = &$this->data[$index];
|
||||
if(is_array($value)) {
|
||||
$u = new ArrayAccessImpl();
|
||||
foreach($value as $idx=>$e) $u[$idx]=$e;
|
||||
}
|
||||
else $u=$value;
|
||||
}
|
||||
public function offsetGet($index) {
|
||||
echo ("GET: $index\n");
|
||||
if(!isset($this->data[$index])) $this->data[$index]=new ArrayAccessImpl();
|
||||
return $this->data[$index];
|
||||
}
|
||||
public function offsetExists($index) {
|
||||
echo ("EXISTS: $index\n");
|
||||
if(isset($this->data[$index])) {
|
||||
if($this->data[$index] instanceof ArrayAccessImpl) {
|
||||
if(count($this->data[$index]->data)>0) return true;
|
||||
else return false;
|
||||
}
|
||||
else return true;
|
||||
}
|
||||
else return false;
|
||||
}
|
||||
}
|
||||
class ArrayAccessImpl2 extends ArrayAccessImpl {
|
||||
public function offsetUnset($index) {
|
||||
echo "UNSET2: $index\n";
|
||||
}
|
||||
public function offsetSet($index, $value) {
|
||||
echo ("SET2: $index\n");
|
||||
if(isset($data[$index])) {
|
||||
unset($data[$index]);
|
||||
}
|
||||
$u = &$this->data[$index];
|
||||
if(is_array($value)) {
|
||||
$u = new ArrayAccessImpl();
|
||||
foreach($value as $idx=>$e) $u[$idx]=$e;
|
||||
}
|
||||
else $u=$value;
|
||||
}
|
||||
public function offsetGet($index) {
|
||||
echo ("GET2: $index\n");
|
||||
if(!isset($this->data[$index])) $this->data[$index]=new ArrayAccessImpl();
|
||||
return $this->data[$index];
|
||||
}
|
||||
public function offsetExists($index) {
|
||||
echo ("EXISTS2: $index\n");
|
||||
if(isset($this->data[$index])) {
|
||||
if($this->data[$index] instanceof ArrayAccessImpl) {
|
||||
if(count($this->data[$index]->data)>0) return true;
|
||||
else return false;
|
||||
}
|
||||
else return true;
|
||||
}
|
||||
else return false;
|
||||
}
|
||||
}
|
||||
offsetGet('foo');
|
||||
$data = new ArrayAccessImpl();
|
||||
$data['string']="Just a simple string";
|
||||
$data['number']=33;
|
||||
$data['array']['another_string']="Alpha";
|
||||
$data['array']['some_object']=new stdClass();
|
||||
$data['array']['another_array']['x']['y']="Beta";
|
||||
$data['blank_array']=array();
|
||||
print_r(isset($data['array']));
|
||||
print_r($data['array']['non_existent']);
|
||||
print_r(isset($data['array']['non_existent']));
|
||||
print_r($data['blank_array']);
|
||||
print_r(isset($data['blank_array']));
|
||||
unset($data['blank_array']);
|
||||
print_r($data);
|
||||
$data2 = new ArrayAccessImpl2();
|
||||
$data2['string']="Just a simple string";
|
||||
$data2['number']=33;
|
||||
$data2['array']['another_string']="Alpha";
|
||||
$data2['array']['some_object']=new stdClass();
|
||||
$data2['array']['another_array']['x']['y']="Beta";
|
||||
$data2['blank_array']=array();
|
||||
print_r(isset($data2['array']));
|
||||
print_r($data2['array']['non_existent']);
|
||||
print_r(isset($data2['array']['non_existent']));
|
||||
print_r($data2['blank_array']);
|
||||
print_r(isset($data2['blank_array']));
|
||||
unset($data2['blank_array']);
|
||||
print_r($data2);
|
||||
|
||||
@@ -1,3 +1,20 @@
|
||||
<?php
|
||||
|
||||
class X implements ArrayAccess { function offsetGet($f) { return $f; } function offsetSet($f, $v) {} function offsetUnset($f) {} function offsetExists($f) { return false; } }function test() { $x = new X; unset($x['a']); return isset($x['b']);}var_dump(test());
|
||||
class X implements ArrayAccess {
|
||||
function offsetGet($f) {
|
||||
return $f;
|
||||
}
|
||||
function offsetSet($f, $v) {
|
||||
}
|
||||
function offsetUnset($f) {
|
||||
}
|
||||
function offsetExists($f) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
function test() {
|
||||
$x = new X;
|
||||
unset($x['a']);
|
||||
return isset($x['b']);
|
||||
}
|
||||
var_dump(test());
|
||||
|
||||
@@ -1,3 +1,19 @@
|
||||
<?php
|
||||
|
||||
function test($x) { $a = $x; $b = $a; $a[0]->foo = 1; var_dump($a, $b); $a = $x; $b = $a; $a[0][1] = 1; var_dump($a, $b); $a = $x; $c = &$a[0]; $b = $a; $a[0][1] = 1; var_dump($a, $b); }test(array(false));var_dump(array(false));
|
||||
function test($x) {
|
||||
$a = $x;
|
||||
$b = $a;
|
||||
$a[0]->foo = 1;
|
||||
var_dump($a, $b);
|
||||
$a = $x;
|
||||
$b = $a;
|
||||
$a[0][1] = 1;
|
||||
var_dump($a, $b);
|
||||
$a = $x;
|
||||
$c = &$a[0];
|
||||
$b = $a;
|
||||
$a[0][1] = 1;
|
||||
var_dump($a, $b);
|
||||
}
|
||||
test(array(false));
|
||||
var_dump(array(false));
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
<?php
|
||||
|
||||
$a = array(1, 2, 3);$b = $a;$b[4] = 4;var_dump($a);var_dump($b);$b = 3;var_dump($a);var_dump($b);
|
||||
$a = array(1, 2, 3);
|
||||
$b = $a;
|
||||
$b[4] = 4;
|
||||
var_dump($a);
|
||||
var_dump($b);
|
||||
$b = 3;
|
||||
var_dump($a);
|
||||
var_dump($b);
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
<?php
|
||||
|
||||
$a = array('1', '2', '3');$b = $a;$b[4] = '4';var_dump($a);var_dump($b);$b = '3';var_dump($a);var_dump($b);
|
||||
$a = array('1', '2', '3');
|
||||
$b = $a;
|
||||
$b[4] = '4';
|
||||
var_dump($a);
|
||||
var_dump($b);
|
||||
$b = '3';
|
||||
var_dump($a);
|
||||
var_dump($b);
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
<?php
|
||||
|
||||
$a = array(1.5, 2.5, 3.5);$b = $a;$b[4] = 4.5;var_dump($a);var_dump($b);$b = 3.5;var_dump($a);var_dump($b);
|
||||
$a = array(1.5, 2.5, 3.5);
|
||||
$b = $a;
|
||||
$b[4] = 4.5;
|
||||
var_dump($a);
|
||||
var_dump($b);
|
||||
$b = 3.5;
|
||||
var_dump($a);
|
||||
var_dump($b);
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
<?php
|
||||
|
||||
$a = array(1, 'hello', 3.5);$b = $a;$b[4] = 'world';var_dump($a);var_dump($b);
|
||||
$a = array(1, 'hello', 3.5);
|
||||
$b = $a;
|
||||
$b[4] = 'world';
|
||||
var_dump($a);
|
||||
var_dump($b);
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
<?php
|
||||
|
||||
$a = array(1, 'hello', 3.5);$b = $a;$b[4] = 'world';var_dump($a);var_dump($b);$b = 3;var_dump($a);var_dump($b);
|
||||
$a = array(1, 'hello', 3.5);
|
||||
$b = $a;
|
||||
$b[4] = 'world';
|
||||
var_dump($a);
|
||||
var_dump($b);
|
||||
$b = 3;
|
||||
var_dump($a);
|
||||
var_dump($b);
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
<?php
|
||||
|
||||
$a = array('a' => '1', 2 => 2, 'c' => '3');var_dump($a);$a = array('a' => '1', 2 => 2, 'c' => '3', 'd' => array('a' => '1', 2 => 2, 'c' => '3'));var_dump($a);
|
||||
$a = array('a' => '1', 2 => 2, 'c' => '3');
|
||||
var_dump($a);
|
||||
$a = array('a' => '1', 2 => 2, 'c' => '3', 'd' => array('a' => '1', 2 => 2, 'c' => '3'));
|
||||
var_dump($a);
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
<?php
|
||||
|
||||
$a = array(1=>'main', 2=>'sub');$b = $a;var_dump(array_pop($b));print_r($a);var_dump(array_shift($b));print_r($a);
|
||||
$a = array(1=>'main', 2=>'sub');
|
||||
$b = $a;
|
||||
var_dump(array_pop($b));
|
||||
print_r($a);
|
||||
var_dump(array_shift($b));
|
||||
print_r($a);
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
<?php
|
||||
|
||||
$a = array(1, 2, 3);var_dump($a);array_pop($a);var_dump($a);array_shift($a);var_dump($a);
|
||||
$a = array(1, 2, 3);
|
||||
var_dump($a);
|
||||
array_pop($a);
|
||||
var_dump($a);
|
||||
array_shift($a);
|
||||
var_dump($a);
|
||||
|
||||
Alguns arquivos não foram exibidos porque demasiados arquivos foram alterados neste diff Mostrar Mais
Referência em uma Nova Issue
Bloquear um usuário