所以目前我有一个联系人文本区,它只在第二行和第三行有一个图标。
我试图给每一行添加一个条件,但似乎不是这样的,有人能帮我实现这个结果吗?
$getc = $connect->query("SELECT * FROM contactos WHERE id = 1");
$contacto = $getc->fetch_array(MYSQLI_ASSOC);
$subject = $contacto['texto'];
foreach(preg_split("/((\r?\n)|(\r\n?))/", $subject) as $line){
for ($x = 1; $x <= 5; $x++) {
if($x == 1){
echo '<p style="margin-top:25px;">'.$line.'</p>';
}else if($x == 2){
echo '<p><i class="phone"></i> <span style="margin-left:15px;">'.$line.'</span></p>';
}else if($x == 3){
echo '<p><i class="mail"></i> <span style="margin-left:24px;">'.$line.'</span></p>';
}else{
echo '<p>'.$line.'</p>';
}
}
}
发布于 2018-08-21 04:34:44
所以你只想打印第三行和第四行。我们需要稍微修改一下你的代码:
$getc = $connect->query("SELECT * FROM contactos WHERE id = 1");
$contacto = $getc->fetch_array(MYSQLI_ASSOC);
$subject = $contacto['texto'];
$x = 1;
foreach(preg_split("/((\r?\n)|(\r\n?))/", $subject) as $line){
if($x == 1){
echo '<p style="margin-top:25px;">'.$line.'</p>';
}else if($x == 2){
echo '<p><i class="phone"></i> <span style="margin-left:15px;">'.$line.'</span></p>';
}else if($x == 3){
echo '<p><i class="mail"></i> <span style="margin-left:24px;">'.$line.'</span></p>';
}else{
echo '<p>'.$line.'</p>';
}
$x++;
}
因此,如您所见,您需要计算foreach
迭代次数。它里面的另一个循环不会做任何好的事情。
https://stackoverflow.com/questions/51934867
复制相似问题