我想在初始回声中回显函数的结果。
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字段之外。如何在第一个回声中得到函数的结果?
答案 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;
}