在 PHP 中的 3 个元素后添加 HTML Class
Add HTML Class after 3 elements in PHP
我的HTML应该是这样的;
<div class="row">
<div class="col-xs-6">
<ul class="list-unstyled">
<li><i class="fa fa-check-circle"></i> Car</li>
<li><i class="fa fa-check-circle"></i> Google</li>
<li><i class="fa fa-check-circle"></i> Building</li>
</ul>
</div>
<div class="col-xs-6">
<ul class="list-unstyled">
<li><i class="fa fa-check-circle"></i> Bathroom</li>
<li><i class="fa fa-check-circle"></i> Facebook</li>
<li><i class="fa fa-check-circle"></i> Twitter</li>
</ul>
</div>
</div>
在数据库中,所有数据都在同一个字段中,它们之间有一个逗号(例如 Car,Google,Building,Bathroom, Facebook, Twitter)。
所以,我使用这段代码将它们分开;
<?php echo str_replace(',', '</li><li><i class="fa fa-check-circle"></i>', $data); ?>
我需要获得与 HTML 相同的结果,我该怎么做?
提前致谢。
你需要展开并循环遍历它...看看这个,它应该可以帮助你理解
$pieces = explode(",", $data);
foreach($pieces as $value){
echo '<li><i class="fa fa-check-circle"></i>'.$value.'</li>';
}
<?php
$v1=explode(",",$data);
$data0=$v1[0];
$data1=$v1[1];
$data2=$v1[2];
$data3=$v1[3];
$data4=$v1[4];
$data5=$v1[5];
?>
<div class="row">
<div class="col-xs-6">
<ul class="list-unstyled">
<li><i class="fa fa-check-circle"></i> <?php echo $data0; ?></li>
<li><i class="fa fa-check-circle"></i> <?php echo $data1; ?></li>
<li><i class="fa fa-check-circle"></i> <?php echo $data2; ?></li>
</ul>
</div>
<div class="col-xs-6">
<ul class="list-unstyled">
<li><i class="fa fa-check-circle"></i> <?php echo $data3; ?></li>
<li><i class="fa fa-check-circle"></i> <?php echo $data4; ?></li>
<li><i class="fa fa-check-circle"></i> <?php echo $data5; ?></li>
</ul>
</div>
</div>
$arrData = explode(",", $data); // comma separated list of words
$i = 0; // temp counter
echo '<div class="row">';
foreach ($arrData as $word)
{
if ($i==0) { echo '<div class="col-xs-6"><ul class="list-unstyled">'; } // open first html containers
echo '<li><i class="fa fa-check-circle"></i>'.$word.'</li>'; // create li
$i++; // increase counter
if ($i==2) // this is the 3rd element in loop
{
echo '</ul></div>'; // close html containers
$i=0; // reset counter, so proccess repeats
}
}
echo '</div>';
只要您的数组中始终有 6 个单词(或 9、12、15 等),这段代码就可以满足您的需要。
我的HTML应该是这样的;
<div class="row">
<div class="col-xs-6">
<ul class="list-unstyled">
<li><i class="fa fa-check-circle"></i> Car</li>
<li><i class="fa fa-check-circle"></i> Google</li>
<li><i class="fa fa-check-circle"></i> Building</li>
</ul>
</div>
<div class="col-xs-6">
<ul class="list-unstyled">
<li><i class="fa fa-check-circle"></i> Bathroom</li>
<li><i class="fa fa-check-circle"></i> Facebook</li>
<li><i class="fa fa-check-circle"></i> Twitter</li>
</ul>
</div>
</div>
在数据库中,所有数据都在同一个字段中,它们之间有一个逗号(例如 Car,Google,Building,Bathroom, Facebook, Twitter)。
所以,我使用这段代码将它们分开;
<?php echo str_replace(',', '</li><li><i class="fa fa-check-circle"></i>', $data); ?>
我需要获得与 HTML 相同的结果,我该怎么做?
提前致谢。
你需要展开并循环遍历它...看看这个,它应该可以帮助你理解
$pieces = explode(",", $data);
foreach($pieces as $value){
echo '<li><i class="fa fa-check-circle"></i>'.$value.'</li>';
}
<?php
$v1=explode(",",$data);
$data0=$v1[0];
$data1=$v1[1];
$data2=$v1[2];
$data3=$v1[3];
$data4=$v1[4];
$data5=$v1[5];
?>
<div class="row">
<div class="col-xs-6">
<ul class="list-unstyled">
<li><i class="fa fa-check-circle"></i> <?php echo $data0; ?></li>
<li><i class="fa fa-check-circle"></i> <?php echo $data1; ?></li>
<li><i class="fa fa-check-circle"></i> <?php echo $data2; ?></li>
</ul>
</div>
<div class="col-xs-6">
<ul class="list-unstyled">
<li><i class="fa fa-check-circle"></i> <?php echo $data3; ?></li>
<li><i class="fa fa-check-circle"></i> <?php echo $data4; ?></li>
<li><i class="fa fa-check-circle"></i> <?php echo $data5; ?></li>
</ul>
</div>
</div>
$arrData = explode(",", $data); // comma separated list of words
$i = 0; // temp counter
echo '<div class="row">';
foreach ($arrData as $word)
{
if ($i==0) { echo '<div class="col-xs-6"><ul class="list-unstyled">'; } // open first html containers
echo '<li><i class="fa fa-check-circle"></i>'.$word.'</li>'; // create li
$i++; // increase counter
if ($i==2) // this is the 3rd element in loop
{
echo '</ul></div>'; // close html containers
$i=0; // reset counter, so proccess repeats
}
}
echo '</div>';
只要您的数组中始终有 6 个单词(或 9、12、15 等),这段代码就可以满足您的需要。