Re: [PHP] Syntax generating error?

[email protected] (Aziz Saleh)
Newsgroups php.general
Message-ID <CAPJtNhXd2zTNDYC2F4jgSDBXwuOgq9O50B2fHwRpmn14Ao_V0A@mail.gmail.com>
On Sat, Apr 1, 2017 at 5:45 PM, Jeffry Killen <[email protected]> wrote:

> Hi;
> The following error is generated by the line marked "// << error indicated"
>
> Fatal error: Function name must be a string in dev_lab_current/lab_20/php/arrayRecursorREV-2.php
> on line 556
>
> self::$_localParams = array
> (
>  'receiver'=>array('value'=>'', 'count'=>0),
>  'type'=>'',
>  'current'=>'',
>  'value'=>'',
>  'count'=>'',
>  'len'=>'',
>  'parent'=>'',
>  'level'=>0,
>  'record'=>array(),
>  'addPath'=>function(){self::showPath();},
>  'stat'=>array()
> );
>
> print self::$_localParams['addPath']().'<br>';// << error indicated (line
> 556)
>
> This is in an early development stage and the print statement is to test
> the concept and
> the function that is supposed to be called. If the function wasn't
> properly defined or referenced,
> it would generate a not defined error.
>
> As it is the self::showPath() call had to be nested in an anonymous
> function. I presume that is what
> the problem is
>
> But the array property is a string, so why would that not serve the
> purpose?
>
> Thanks for time and attention
> JK
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
It would be the case if you are using the current stable release of PHP or
any version >= v 7.0. In older versions you will need to it in a 2-step
process:

$function = self::$_localParams['addPath'];
print $function().'<br>';
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.