В PHP это возможный использовать функцию в переменной

Если вы уверены, что в вашей программе нет утечек памяти , попробуйте:

  1. Увеличьте размер кучи, например -Xmx1g.
  2. Включить параллельный сборщик низких пауз -XX:+UseConcMarkSweepGC.
  3. Повторно использовать существующие объекты, когда это возможно, чтобы сохранить некоторую память.

Если необходимо, ограничение limit можно отключить, добавив опцию -XX:-UseGCOverheadLimit в командной строке.

10
задан Borre Mosch 9 January 2017 в 13:53
поделиться

3 ответа

Вызовы функции в строках поддерживаются начиная с PHP5 при наличии переменной, содержащей название функции для вызова:

<?
function somefunc($stuff)
{
    $output = "<b>{$stuff}</b>";
    return $output;
}
$somefunc='somefunc';
echo "foo {$somefunc("bar")} baz";
?>

произведет"foo <b>bar</b> baz".

Я нахожу это легче однако (и это работает в PHP4) любому, просто вызывают функцию за пределами строки:

<?
echo "foo " . somefunc("bar") . " baz";
?>

или присвойте временной переменной:

<?
$bar = somefunc("bar");
echo "foo {$bar} baz";
?>
25
ответ дан 3 December 2019 в 16:11
поделиться

"bla bla bla".function("blub")." and on it goes"

2
ответ дан 3 December 2019 в 16:11
поделиться

Расширение немного на том, что сказал Jason W:

I find it easier however (and this works in PHP4) to either just call the 
function outside of the string:

<?
echo "foo " . somefunc("bar") . " baz";
?>

Можно также просто встроить этот вызов функции непосредственно в HTML, как:

<?

function get_date() {
    $date = `date`;
    return $date;
}

function page_title() {
    $title = "Today's date is: ". get_date() ."!";
    echo "$title";
}

function page_body() {
    $body = "Hello";
    $body = ",  World!";
    $body = "\n
\n"; $body = "Today is: " . get_date() . "\n"; } ?> <html> <head> <title><? page_title(); ?></title> </head> <body> <? page_body(); ?> </body> </html>
-1
ответ дан 3 December 2019 в 16:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: