echo对象属性以及php命令中的字符串

时间:2017-09-30 10:48:57

标签: php

<?php
class bankbalanced{
    public $banakbalance=100;
    public function showbalance(){
        echo $this->banakbalance;
    }   
}
$bb=new bankbalanced;
echo 'balance is:'.$bb->showbalance();
?>  

在上面的代码中我尝试用对象回显字符串和属性。 为什么先     $ BB-&GT; showbalance() 得到回应,不平衡是: 我得到输出为:&#39; 100balance是:&#39;。但我想将其格式化为 余额是:100 第一个字符串然后通过对象访问属性连接 提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

showbalance()回应平衡,它不会返回它。因此,当您调用该函数时,余额会回显。然后该函数返回任何内容,它将连接到字符串balance is:,然后该连接的字符串由调用者回显。

理解这一点的另一种方法是

echo "balance is:" . $bb->showbalance();

相当于:

$tempstring = $bb->showbalance();
echo "balance is:" . $tempstring;

当你以这种方式编写时,应该更清楚的是函数内部的echo在计算$tempstring时发生,这是在该字符串被连接和回显之前。

你应该这样做:

echo "balance is:";
$bb->showbalance();

或者您应该更改函数以返回余额而不是回显它。

function getbalance() {
    return $this->banakbalance;
}

echo 'balance is:' . $bb->getbalance();