我在php中有一个循环
foreach($Array as $key =>$value)
{
$TotalLine .= " Qualification =".$value." OR ";
}
echo $TotalLine;
打印
Qualification =1 OR Qualification =2 OR Qualification =3 OR Qualification =4 OR
现在我需要删除该行中的最后一个 OR ,Desired Output必须看起来像
Qualification =1 OR Qualification =2 OR Qualification =3 OR Qualification =4
如何做到这一点。任何帮助赞赏。
答案 0 :(得分:0)
你可以使用php rtrim()
函数来实现这个
foreach($Array as $key =>$value)
{
$TotalLine .= " Qualification =".$value." OR ";
}
echo rtrim($TotalLine,"OR");
答案 1 :(得分:0)
您可以使用数组和implode
:
<强> DEMO 强>
$TotalLine = [];
foreach ($Array as $key => $value) {
$TotalLine[] = " Qualification =" . $value;
}
echo implode(" OR ", $TotalLine);
或者,如果您不想使用此方法,可以使用rtrim
:
<强> DEMO 强>
rtrim($TotalLine," OR");
这里,不需要像" OR "
那样使用最后一个空格,因为trim会将每个字符视为一个掩码。阅读文档
但前者是最优秀和最整洁的。您使用数组,然后使用implode
函数连接值。后者修剪掉最后指定的字符串。
请注意:当您使用trim
时,将删除蒙版中的字符。这里当你的值只是数字时就没有问题了。但是当你有ROAR
之类的字符串时,你的上一个R
也会被删除。 Demo也是如此。只是为了你的知识!或者,this article是从这个问题演变而来的。
答案 2 :(得分:0)
尝试使用end()
这样的功能:
foreach($Array as $key =>$value){
$TotalLine .= " Qualification =".$value;
if(!end($value)){
$TotalLine .= " OR ";
}
}
答案 3 :(得分:0)
没有foreach循环的替代洗脱剂。
$array = [1,2,3,4];
$string = implode(" OR Qualification =", $array);
echo "Qualification =$string";
答案 4 :(得分:0)
简单使用<?php
$Array =[1,2,3,4];
$TotalLine="";
foreach($Array as $key =>$value)
{
!empty($TotalLine) ? $TotalLine .= " OR Qualification =".$value : $TotalLine = "Qualification =".$value;
}
echo $TotalLine;
?>
PHP:
Qualification =1 OR Qualification =2 OR Qualification =3 OR Qualification =4
输出:
{{1}}