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
<?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 に答える
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

文字列を連結するか、単一引用符ではなく二重引用符を使用する必要がありますが、この場合、文字列内のすべての二重引用符をエスケープする必要があります。

別の解決策は、ヒアドキュメントを使用することです。

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 に答える