Question

following doesn't work:

<?php
class test{
    const t = 10;
    public static $y = array('t' => self::t . 'hello');
}
var_dump(test::$y);
?>

can somebody tell me why that is? :)

it fails in the ... => self::t . 'hello')... part, where it, as seams, not is able to concatenate a classconstant in the array().

that implies that both of following works perfect:

public static $y = array('t' => self::t);

and

public static $y = array('t' => 'hello');
Was it helpful?

Solution

can somebody tell me why that is?

Concatenation is a product of run-time. Class member initial values must be known at parse time.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top