PHP回声问题?
我真的需要这么多回音还是可以把它缩短PHP回声问题?,php,syntax,refactoring,Php,Syntax,Refactoring,我真的需要这么多回音还是可以把它缩短 <?php if (!empty($url)) { echo '<p>Job: <span>' . $job .'</span></p>'; echo '<p>Skills: <span class="caps">' . $skills . '</span></p>'; echo '<p>Website: <a hr
<?php
if (!empty($url))
{
echo '<p>Job: <span>' . $job .'</span></p>';
echo '<p>Skills: <span class="caps">' . $skills . '</span></p>';
echo '<p>Website: <a href="http://' . $url . '" title="' . $url . '">http://' . $url . '</a></p>';
echo '<p>Pay:' . $pay. '</p>';
} else {
echo'';
}
?>
您可以使用单回显和串联来完成所有这些,它只是“.”,是的,您需要为else stmt多做一个回显。您可以使用单回显和串联来完成所有这些,它只是“.”,是的,您需要为else stmt多做一个回显。为什么不还原它
<?php if(!empty($url)) { ?>
<p>Job: <span><?=$job?></span></p>
<p>Skills: <span class="caps"><?=$skills?></span></p>
<p>Website: <a href="http://<?=$url?>/" title="<?=$url?>">http://<?=$url?></a></p>
<p>Pay: <?=$pay?></p>
<?php } ?>
工作:
技能:
网站:
薪酬:
为什么不还原它
<?php if(!empty($url)) { ?>
<p>Job: <span><?=$job?></span></p>
<p>Skills: <span class="caps"><?=$skills?></span></p>
<p>Website: <a href="http://<?=$url?>/" title="<?=$url?>">http://<?=$url?></a></p>
<p>Pay: <?=$pay?></p>
<?php } ?>
工作:
技能:
网站:
薪酬:
当然,而且不需要一个什么都不做的或:
<?php
if(!empty($url)) {
echo "<p>Job: <span>{$job}</span></p>";
echo "<p>Skills: <span class=\"caps\">{$skills}</span></p>";
echo "<p>Website: <a href=\"http://{$url}\" title=\"{$url}\">http://{$url}</a></p>";
echo "<p>Pay: {$pay}</p>";
}
?>
。。。甚至:
<?php
if(!empty($url)) {
echo "<p>Job: <span>{$job}</span></p>
<p>Skills: <span class=\"caps\">{$skills}</span></p>
<p>Website: <a href=\"http://{$url}\" title=\"{$url}\">http://{$url}</a></p>
<p>Pay: {$pay}</p>";
}
?>
当然,而且不需要一个什么都不做的或:
<?php
if(!empty($url)) {
echo "<p>Job: <span>{$job}</span></p>";
echo "<p>Skills: <span class=\"caps\">{$skills}</span></p>";
echo "<p>Website: <a href=\"http://{$url}\" title=\"{$url}\">http://{$url}</a></p>";
echo "<p>Pay: {$pay}</p>";
}
?>
。。。甚至:
<?php
if(!empty($url)) {
echo "<p>Job: <span>{$job}</span></p>
<p>Skills: <span class=\"caps\">{$skills}</span></p>
<p>Website: <a href=\"http://{$url}\" title=\"{$url}\">http://{$url}</a></p>
<p>Pay: {$pay}</p>";
}
?>
您可能想试试。
您可以执行以下操作:
<?php echo sprintf('<p>Job: <span>%s</span></p>', $job); ?>
您可能想试试。
您可以执行以下操作:
<?php echo sprintf('<p>Job: <span>%s</span></p>', $job); ?>
可以,但为了便于阅读,最好保持原样吗?我认为这不会影响脚本的多回音性能。可以,但为了可读性,最好保持原样?我不认为这会影响具有多个echo的脚本的性能。如果要使用echo,不需要连接多行或还原。您的问题的实际答案如下(因为它仍然使用echo):
Php不关心使用多少行。如果要使用echo,不需要连接多行或还原。您的问题的实际答案如下(因为它仍然使用echo):
Php不在乎你用了多少行。我想你可以:
- 使用点(
)进行字符串连接,并使用单个回音
- 或者在单个
回显中使用多个字符串,用逗号“,
”分隔
例如,请参见
对于第一种解决方案:
echo 'a' . 'b' . 'c';
第二点:
echo 'd', 'e', 'f';
输出将是:
abcdef
另一种解决方案是在以下情况下使用变量插值:
这将使你:
this is a test
例如,两者都使用一点:
$job = 'my job';
$skills = 'my skills';
$url = 'google.com';
$pay = 3.14;
echo "<p>Job: <span>$job</span></p>"
. "<p>Skills: <span class=\"caps\">$skills</span></p>"
. "<p>Website: <a href=\"http://$url\" title=\"$url\">http://$url</a></p>"
. "<p>Pay:$pay</p>";
但请注意,您必须避开“
,这并不容易:-(
因此,另一个解决方案基于:
echo我想你可以:
- 使用点(
)进行字符串连接,并使用单个回音
- 或者在单个
回显中使用多个字符串,用逗号“,
”分隔
例如,请参见
对于第一种解决方案:
echo 'a' . 'b' . 'c';
第二点:
echo 'd', 'e', 'f';
输出将是:
abcdef
另一种解决方案是在以下情况下使用变量插值:
这将使你:
this is a test
例如,两者都使用一点:
$job = 'my job';
$skills = 'my skills';
$url = 'google.com';
$pay = 3.14;
echo "<p>Job: <span>$job</span></p>"
. "<p>Skills: <span class=\"caps\">$skills</span></p>"
. "<p>Website: <a href=\"http://$url\" title=\"$url\">http://$url</a></p>"
. "<p>Pay:$pay</p>";
但请注意,您必须避开“
,这并不容易:-(
因此,另一个解决方案基于:
echo当然这也可以:
echo '<p>Job: <span>' . $job .'</span></p><p>Skills: <span class="caps"></span></p><p>Website: <a href="http://' . $url . '" title="' . $url . '">http://' . $url . '</a></p><p>Pay:' . $pay. '</p>';
或者,您可以使用更具可读性的heredoc语法:
echo <<<HTML
<p>Job: <span>$job</span></p>
<p>Skills: <span class="caps"></span></p>
<p>Website: <a href="http://$url" title="$url">http://$url</a></p>
<p>Pay:$pay</p>
HTML;
echo当然这也可以:
echo '<p>Job: <span>' . $job .'</span></p><p>Skills: <span class="caps"></span></p><p>Website: <a href="http://' . $url . '" title="' . $url . '">http://' . $url . '</a></p><p>Pay:' . $pay. '</p>';
或者,您可以使用更具可读性的heredoc语法:
echo <<<HTML
<p>Job: <span>$job</span></p>
<p>Skills: <span class="caps"></span></p>
<p>Website: <a href="http://$url" title="$url">http://$url</a></p>
<p>Pay:$pay</p>
HTML;
echo如果我是你,我会开始使用模板。有很多模板引擎。我强烈推荐Smarty
这将允许您将代码与显示逻辑分离。这意味着您可以选择不同的模板,或将模板交给不需要了解任何php知识的设计师。这还将允许您在以后检查代码并轻松调试/更改它。没有什么比尝试读取包含html的代码更糟糕的了d php贯穿始终
代码:
模板(称为yargh.tpl):
{if$t_url}
作业:{$t_作业}
技能:{$t_技能}
网站:
Pay:{$t_Pay}
{/if}
如果我是你,我会开始使用模板。有很多模板引擎。我强烈推荐Smarty
这将允许您将代码与显示逻辑分离。这意味着您可以选择不同的模板,或将模板交给不需要了解任何php知识的设计师。这还将允许您在以后检查代码并轻松调试/更改它。没有什么比尝试读取包含html的代码更糟糕的了d php贯穿始终
代码:
模板(称为yargh.tpl):
{if$t_url}
作业:{$t_作业}
技能:{$t_技能}
网站:
Pay:{$t_Pay}
{/if}
注意,像这样的短标记是正确的。需要注意的是。这是一个很好的方法,arrr。还要研究if:endif:syntax。我真的不理解if:endif的吸引力。如果你的代码正确缩进,就永远不会有任何需要endif的歧义。Citizen,没有echo
要求。Th问题是一个人是否需要这么多回声,还是可以把它缩短;-)注意像True这样的短标记。需要注意的是。这是一个很好的方法,arrr。还要研究if:endif:syntax。我真的不理解if:endif的吸引力。如果你的代码正确缩进,就永远不会有任何需要endif的歧义。公民,没有echo
要求。任务“连接”是指一个人是否需要这么多回音,或者是否可以将其缩短;-)不过,我发现这种连接方式不如其他方法可读。如果不需要多回音,就不应该使用它们。@Citizen不一定。有时,一些额外的echo语句可以极大地提高可读性,而性能损失基本为零。不过,我发现这种连接方式的可读性不如某些替代方法。如果不需要mulitples,就不应该使用它们。@Citizen不一定。萨米特