PHP在echo中获得函数的结果

时间:2015-02-26 23:32:03

标签: php function

我想在初始回声中回显函数的结果。

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

功能:

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++;
}
}

问题是函数的结果打印在div元素之外的初始echo字段之外。如何在第一个回声中得到函数的结果?

1 个答案:

答案 0 :(得分:2)

return内容而不是回应它:

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;
}