在以下php代码中,我试图呼应$ title和$ desc的值,但它不显示值仅显示可变名称。任何帮助将不胜感激。
foreach ($prod as $product) {
$title=$product['title'];
$desc=$product['desc'];
echo '
<div class="detail">
<div class="img"><img src="images/pro1.png"/></div>
<div class="textdetail"><p><b>$title</b><br /></p>
<p><a href="#">$desc</a></p>
</div><br />
</div>';
}
您必须使用双引号,或将它们带到字符串外 - 出于清晰的原因,我个人总是更喜欢后一种方法。两种作品。
这应该做到:
foreach ($prod as $product) {
$title=$product['title'];
$desc=$product['desc'];
echo '
<div class="detail">
<div class="img"><img src="images/pro1.png"/></div>
<div class="textdetail"><p><b>'.$title.'</b><br /></p>
<p><a href="#">'.$desc.'</a></p>
</div><br />
</div>
';
}
<?php
foreach ($prod as $product) {
$title=$product['title'];
$desc=$product['desc'];?>
<div class="detail">
<div class="img"><img src="images/pro1.png"/></div>
<div class="textdetail"><p><b><?php echo $title ;?></b><br /></p>
<p><a href="#"><?php echo $desc;?></a></p>
</div><br />
</div>
<?php
}?>
这是使用PHP和HTML一起使用的最佳实践。
您需要限制字符串,或者使用双引号代替单个引号,但是在这种情况下,您需要逃脱字符串中的所有双引号。
另一种解决方案是使用Heredoc:
echo <<<EOF
<div class="detail">
<div class="img"><img src="images/pro1.png"/></div>
<div class="textdetail"><p><b>$title</b><br /></p>
<p><a href="#">$desc</a></p>
</div><br />
</div>
EOF;
使用双引号将变量名称替换为其内容(别忘了逃脱双引号):
echo "
<div class="detail">
<div class="img"><img src="images/pro1.png"/></div>
<div class="textdetail"><p><b>$title</b><br /></p>
<p><a href="#">$desc</a></p>
</div><br />
</div>
";
或使用字符串串联(更快的速度):
echo '
<div class="detail">
<div class="img"><img src="images/pro1.png"/></div>
<div class="textdetail"><p><b>'.$title.'</b><br /></p>
<p><a href="#">'.$desc.'</a></p>
</div><br />
</div>
';
<?php foreach ($prod as $product):?>
<div class="detail">
<div class="img"><img src="images/pro1.png"/></div>
<div class="textdetail"><p><b><?=$product['title']?></b><br /></p>
<p><a href="#"><?=$product['desc']?></a></p>
</div><br />
</div>
<?endforeach;?>
或
foreach ($prod as $product) {
$title=$product['title'];
$desc=$product['desc'];
echo '
<div class="detail">
<div class="img"><img src="images/pro1.png"/></div>
<div class="textdetail"><p><b>' . $title . ' </b><br /></p>
<p><a href="#">' . $desc . ' </a></p>
</div><br />
</div>
';
}
<?php foreach ($prod as $product) { ?>
<div class="detail">
<div class="img"><img src="images/pro1.png"/></div>
<div class="textdetail"><p><b><?php echo $product['title']; ?></b><br /></p>
<p><a href="#"><?php echo $product['desc']; ?></a></p>
</div><br />
</div>
<?php } ?>
尝试将变量包装在卷曲括号{}中的Echo中。这是一个更简单的解决方案。这样:
foreach ($prod as $product) {
$title=$product['title'];
$desc=$product['desc'];
echo "
<div class='detail'>
<div class='img'><img src='images/pro1.png' /></div>
<div class='textdetail'><p><b>{$title}</b><br /></p>
<p><a href='#'>{$desc}</a></p>
</div><br />
</div>
";
}