短回声标记PHP变量和方法

时间:2018-06-05 06:02:17

标签: php

我一直在使用PHP短回显代码,但意识到它不会打印出方法的返回值。也就是说,以下内容将起作用

<?= $my_variable ?>
<?php echo $my_object->get_value(); ?>

但这不会返回任何内容

<?= $my_object->get_value() ?>

为什么调用一个返回值的方法不能用短手打印到屏幕上?

3 个答案:

答案 0 :(得分:5)

在正常情况下,它应该有效。

参见并测试:

<?php 
    class A {
        public function a() {
            return 1;
        }
    }

    $a = new A;

    ?>

    <?= $a->a() ?>

输出:1

所以,我认为你的问题伴随着get_value()方法,似乎该方法没有返回可打印的值。

答案 1 :(得分:5)

看起来没有经过良好测试的代码。您可以运行此代码(可能在sandbox

<?php
class MyClass {
    public function getValue() {
        return 'Hello';
    }
}

$my_object = new MyClass();
?>

<?= $my_object->getValue() ?>

并看到它输出&#34; Hello&#34;

答案 2 :(得分:2)

<?=<?php echo的短代码,所以它应该以相同的方式。请显示使用get_value()方法的代码。也许它确实返回空字符串或null :)