mirror of
https://github.com/php/php-src.git
synced 2024-09-22 02:17:32 +00:00
09d1a8aaab
Adding one failing (!) test for now about circular constant references embedded in a constant AST, must be fixed before PHP 5.6 release.
36 lines
529 B
PHP
36 lines
529 B
PHP
---TEST---
|
|
Constant expressions with arrays
|
|
---FILE---
|
|
<?php
|
|
const a = [1,2,[3,[4]]];
|
|
const b = a[0];
|
|
const c = a[2][0];
|
|
const d = a[2];
|
|
const e = ["string" => [1]]["string"][0];
|
|
|
|
var_dump(b, c, e);
|
|
|
|
function test ($a = d[1][0]) {
|
|
var_dump($a);
|
|
}
|
|
|
|
test();
|
|
|
|
class foo {
|
|
const bar = [1][0];
|
|
}
|
|
|
|
var_dump(foo::bar);
|
|
|
|
var_dump(a); // Eventually allow that later with array dereferencing of constants
|
|
|
|
?>
|
|
---EXPECTF---
|
|
int(1)
|
|
int(3)
|
|
int(1)
|
|
int(4)
|
|
int(1)
|
|
|
|
Fatal error: Arrays are not allowed in constants at run-time in %s on line %d
|