Php 写if-else语句的较短方法?
Php 写if-else语句的较短方法?,php,if-statement,Php,If Statement,我最初尝试了下面的PHP代码,但它仍然会输出HTML: 字体:即使字符串为空 字体: 因此,我的问题是,如何以更短的方式在最顶端编写代码?$typeface=trim($page->typeface()); <?php $typeface = $page->typeface(); if (!empty($typeface)): ?> <li><span>Typeface: </span><?php echo $t
我最初尝试了下面的PHP代码,但它仍然会输出HTML:
字体:
即使字符串为空
字体:
因此,我的问题是,如何以更短的方式在最顶端编写代码?$typeface=trim($page->typeface());
<?php $typeface = $page->typeface();
if (!empty($typeface)): ?>
<li><span>Typeface: </span><?php echo $typeface ?></li>
<?php endif; ?>
如果($typeface!='')
回显“$typeface=trim(str_replace(数组(“\r”、“\r\n”、“\n”)、“$page->typeface());
如果($typeface!='')
回显“字体:”.$Typeface. ”;
$typeface=trim($page->typeface());
如果($typeface!='')
回显“字体:”.$Typeface. ”;
编辑:(删除新行)
$typeface=trim(str_replace(数组(“\r”、“\r\n”、“\n”)、“$page->typeface());
如果($typeface!='')
回显“字体:”.$Typeface. ”;
试试这个
$typeface = trim(str_replace(array("\r", "\r\n", "\n"), '', $page->typeface()));
if($typeface != '')
echo '<li><span>Typeface: </span>'.$typeface.'</li>';
(isset($typeface)和&!empty($typeface))?echo“字体:“.$typeface.” ”:”;
试试这个
$typeface = trim(str_replace(array("\r", "\r\n", "\n"), '', $page->typeface()));
if($typeface != '')
echo '<li><span>Typeface: </span>'.$typeface.'</li>';
(isset($typeface)和&!empty($typeface))?echo“字体:“.$typeface.” ”:”;
($typeface==”)?echo“”:echo“字体:”.$typeface. ”;
($typeface==”)?echo“”:echo“字体:”.$typeface. ”;
根据$page->typeface()
方法的返回类型和代码的位置(看起来您在模板视图中),我可能会选择:
($typeface=="")?echo "":echo '<li><span>Typeface: </span>'.$typeface.'</li>';
我在if()
中设置变量$typeface
。这种技术应该将代码缩短一行
下面是一个使用简单字符串的工作示例:
<?php if ($typeface = trim($page->typeface())): ?>
<li><span>Typeface: </span><?=$typeface?></li>
<?php endif; ?>
...
字体:
。。。产出:没有
<?php $foo = ""; ?>
...
<?php if ($typeface = trim($foo)): ?>
<li><span>Typeface: </span><?=$typeface?></li>
<?php endif; ?>
...
字体:
。。。输出:字体:我是一个字符串
(显然,由于缺少开头和结尾,根据$page->typeface()
方法的返回类型和代码的位置(看起来您在模板视图中),我可能会选择:
($typeface=="")?echo "":echo '<li><span>Typeface: </span>'.$typeface.'</li>';
我在if()
中设置变量$typeface
。这种技术可以将代码缩短一行
下面是一个使用简单字符串的工作示例:
<?php if ($typeface = trim($page->typeface())): ?>
<li><span>Typeface: </span><?=$typeface?></li>
<?php endif; ?>
...
字体:
…输出:没有
<?php $foo = ""; ?>
...
<?php if ($typeface = trim($foo)): ?>
<li><span>Typeface: </span><?=$typeface?></li>
<?php endif; ?>
...
字体:
…输出:字体:我是一个字符串!
(显然,缺少开头和结尾
试试这个
<?php $foo = 'I\'m a string!'; ?>
...
<?php if ($typeface = trim($foo)): ?>
<li><span>Typeface: </span><?=$typeface?></li>
<?php endif; ?>
$typeface=$page->typeface();
echo$res=($typeface!='')“字体:'.$typeface.” ':'';
试试这个
<?php $foo = 'I\'m a string!'; ?>
...
<?php if ($typeface = trim($foo)): ?>
<li><span>Typeface: </span><?=$typeface?></li>
<?php endif; ?>
$typeface=$page->typeface();
echo$res=($typeface!='')“字体:'.$typeface.” ':'';
我也会应用修剪,以防万一。@PeterKiss修剪是什么意思?如果值为空,我会有一个空行。我该如何删除它?如果(修剪($page->typeface())!=”{/*…*/}修剪仍然会留下一个空行。非常感谢@vlcekmi3I也会应用修剪以备不时之需。@PeterKiss修剪是什么意思?如果值为空,我确实有一个空行。我该如何删除它?如果(修剪($page->typeface())!=“”{/*…*/}修剪仍然留下一个空行。非常感谢@vlcekmi3,因为某种原因,当没有值时仍然输出字体:
。@ChristopherBurton当我第一次发布代码时,我有$Typeface=$page->Typeface()
(复制/粘贴错误)。我将它改为$Typeface===$page->Typeface()
(注意==
)。希望这就是为什么它对你不起作用的原因?我仍然得到同样的结果。天哪,我不想浪费你的时间…你可能会修剪,就像其他人说的:
?当我使用这些变量进行测试时:
,其中$foo
是我的$page->typeface()版本
,它对我很有用,$page->typeface()期望的返回类型/值是什么?我假设它是一个空/非空字符串返回?再说一遍,我并不想浪费你的时间(看起来你已经得到了很多很好的答案)。:@ChristopherBurton即使你得到了答案,我也更新了我的答案……我最初的想法是正确的(参见上面的编辑)。我有时喜欢在if()中指定变量
check…减少了需要处理的代码行。如果这不起作用,那么您可能需要应用一个更为核心的修剪,就像.Happy编码中使用的那样!出于某种原因,当没有值时仍然输出字体:
。@ChristopherBurton当我第一次发布代码时,我有$Typeface=$page->typeface()
(复制/粘贴错误)。我将其更改为$typeface===$page->typeface()
(注意===
)。希望这就是为什么它对你不起作用的原因?我还是得到了同样的结果。天哪,我不想浪费你的时间…你可能会修剪,就像其他人说的:
?当我使用这些变量进行测试时:
,其中$foo
是我的$page->typeface()
,它对我有效…什么是$page->typeface()预期的返回类型/值?我假设它是空/非空字符串返回?再说一次,我并不想浪费你的时间(看起来你已经得到了很多很好的答案)。:@ChristopherBurton即使你已经得到了答案,我也更新了我的答案…我最初的想法是正确的(请参阅上面的编辑).我有时喜欢在if()中指定变量
check…减少了需要处理的代码行。如果这不起作用,那么您可能需要应用更为核心的修剪,就像在.Happy coding!@christopherton Edited…现在就试试看,这样做行得通。不过,我仍然对视图源代码中的空行有问题。@christopherton Edited…现在就试试看,这样做行得通。我仍然有问题但是,在视图源中存在一个空行问题。