<?
function foo($return = false) {
$x = '12345';
$return ?
return $x : // here it fails
echo $x;
}
echo foo(true);
?>
它说“解析错误:语法错误,意外'返回'(T_RETURN)... ”
为什么!?:)
答案 0 :(得分:2)
您不能以这种方式使用内联ifs。它们通常使用如下:
echo ($return ? x : "false");
您的代码应该是这样的:
<?
function foo($return = false) {
$x = '12345';
if($return)
{
return $x
}
else
{
echo $x;
}
}
echo foo(true);
?>
(对某些人来说比较混乱),你不需要添加else
语句,好像满足if
语句一样,它会返回一个值,从而退出函数,这意味着如果不满足if
语句,它仍会转到echo
:
<?
function foo($return = false) {
$x = '12345';
if($return)
{
return $x
}
echo $x;
}
echo foo(true);
?>
答案 1 :(得分:0)
您可以使用print函数而不是echo:
def index
@japas = Japa.where(user_id: current_user.id)
end
更优雅的是Styphons的评论方式:
<% @japas.each do |japa| %>
<tr>
<td><%= japa.created_at %></td>
<td><%= japa.rounds %></td>
</tr>
<% end %>