如何使用PHP在DIV中回声

  • 本文关键字:回声 DIV 何使用 PHP php
  • 更新时间 :
  • 英文 :


在以下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>
    ";
}

最新更新