0

我正在处理这个程序,这里我试图用','分隔字符串电子邮件,然后我存储在数组中,然后在foreach中附加'city'..

$email='aa,bb,cc,dd';
$a=explode(',',$email);
//echo $a[2];
$result="";
foreach($a as $v)
{
     $result .= " city = '$v' ";
     echo $result;
}

我得到的结果是

city = 'aa' city = 'aa' city = 'bb' city = 'aa' city = 'bb' city = 'cc' city = 'aa' city = 'bb' city = 'cc' city = 'dd'

但我希望它是,,

city = 'aa' city = 'bb' city = 'cc' city = 'dd' 

我的代码错了吗?..请指导我..

4

5 回答 5

2

移出循环,因为您正在循环中构建整个字符串,这将echo每次都回显字符串。

$result="";
foreach($a as $v)
{
     $result .= " city = '$v' ";

}

     echo $result;  // move it here
于 2013-10-19T03:56:57.233 回答
0

你在 foreach 中 echo $rresult 所以你的字符串或变量是重复的。请尝试以下代码:

$email='aa,bb,cc,dd';
$a=explode(',',$email);

$result="";
foreach($a as $v)
{
    $result .= " city = '$v' ";     
}
echo $result;
于 2013-10-19T04:36:27.780 回答
0

您将根据您的代码获得结果,您echo将获得每次loop执行的结果。

因此,为了在 $result 中获取最终值,echo它在loop.

foreach($a as $v)
{
    $result .= " city = '$v' ";
}
echo $result;
于 2013-10-19T04:03:09.450 回答
0

删除结果中的字符串连接

 $email='aa,bb,cc,dd';
$a=explode(',',$email);
//echo $a[2];
$result="";
foreach($a as $v)
{
     $result = " city = '$v' ";//changed $result .= " city = '$v' "; to $result = " city = '$v' ";
     echo $result;
} 
于 2013-10-19T04:06:10.550 回答
0

删除字符串连接..

$email='aa,bb,cc,dd';
$a=explode(',',$email);
//echo $a[2];
$result="";
foreach($a as $v)
{
     $result = " city = '$v' ";  // remove string concate..
     echo $result;
}


另一种方法是在 foreach 循环外回显...

$email='aa,bb,cc,dd';
$a=explode(',',$email);
//echo $a[2];
$result="";
foreach($a as $v)
{
     $result .= " city = '$v' "; 
}

echo $result; // echo outside the foreach loop


输出

city = 'aa' city = 'bb' city = 'cc' city = 'dd' 
于 2013-10-19T05:04:04.917 回答