PHP将函数输出定义为变量


PHP define a function output as variable

假设我有一个函数可以显示标题,例如:

输出"标题"的get_title();

我想将其设置为一个变量,如$title = get_title();

不幸的是,这只是回显函数,并没有为变量捕获它。我该怎么做?

我想将变量用于if语句。

if ($title == "no title") { stop }

如果您无权修改函数get_title,则可以始终使用输出缓冲区。

<?php
ob_start();
get_title()
$title = ob_get_contents();

明确的解决方案是返回标题的值,而不是重复它

<?php
function get_title() {
    $title = // black box //;
    return $title;
}
$title = get_title();

正如您所指出的,如果您不希望函数在屏幕上输出任何内容,您可以使用ob_end_clean()销毁get_title()可能具有的任何输出。

您必须返回您的变量,而不是回显它。

function get_title() {
    return "title";
}

您只需要返回标题。

function getTitle(){
    $title="title";
    //echo $title;
    return $title; //return instead of echoing
}