0

在下面的 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>';
}
4

7 回答 7

6

您必须使用双引号,或者将它们放在字符串之外 - 为了清楚起见,我个人总是更喜欢后一种方法。要么工作。

这应该这样做:

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>
    ';
}
于 2012-10-23T09:32:53.250 回答
1
<?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 时的最佳实践。

于 2012-10-23T09:35:34.297 回答
0

尝试用大括号 { } 将变量包裹在 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>
    ";

}
于 2012-10-23T09:33:03.367 回答
0

您需要连接字符串,或者使用双引号而不是单引号,但在这种情况下,您需要转义字符串内的所有双引号。

另一种解决方案是使用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;
于 2012-10-23T09:33:54.953 回答
0

使用双引号将变量名替换为其内容(不要忘记转义双引号):

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>
    ';
于 2012-10-23T09:34:37.030 回答
0
<?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>
    ';
}
于 2012-10-23T09:39:59.380 回答
0
<?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 } ?>
于 2012-10-23T09:43:21.623 回答