dtnat80842 2015-02-26 23:32
浏览 57
已采纳

PHP在echo中获得函数的结果

I want to echo out the result of a function within the initial echo.

echo "<div class='booking-item-rating'>" . stars($hotelSummary[$x]['hotelRating']) . "</div>";

The function:

function stars($stars){
for($i=1;$i<=$stars;$i++) {
    echo "<i class='fa fa-star'></i>";
}
if (strpos($stars,'.')) {
    echo "<i class='fa fa-star-half-empty'></i>";
    $i++;
}
while ($i<=5) {
    echo "<i class='fa fa-star-o'></i>";
    $i++;
}
}

The problem is that the result of the function is printed outside the initial echo field, outside of the div element. How do I get the result of the function to print out within the first echo ?

  • 写回答

1条回答 默认 最新

  • donglin1192 2015-02-26 23:33
    关注

    return that content instead of echoing it:

    function stars($stars){
        $string = '';
        for($i=1;$i<=$stars;$i++) {
            $string .= "<i class='fa fa-star'></i>";
        }
        if (strpos($stars,'.')) {
            $string .= "<i class='fa fa-star-half-empty'></i>";
            $i++;
        }
        while ($i<=5) {
            $string .= "<i class='fa fa-star-o'></i>";
            $i++;
        }
        return $string;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 Llama如何调用shell或者Python
  • ¥20 谁能帮我挨个解读这个php语言编的代码什么意思?
  • ¥15 win10权限管理,限制普通用户使用删除功能
  • ¥15 minnio内存占用过大,内存没被回收(Windows环境)
  • ¥65 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi