在PHP中分解为数组
我在处理这个程序,这里我试图用“,”分隔字符串email,然后我在数组中存储,然后在foreach中附加“city”在PHP中分解为数组,php,mysql,Php,Mysql,我在处理这个程序,这里我试图用“,”分隔字符串email,然后我在数组中存储,然后在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'
$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'
我的代码错了吗?。请指导我..将
回音
移出循环,因为您正在循环中构建整个字符串,因此每次都会回音字符串
$result="";
foreach($a as $v)
{
$result .= " city = '$v' ";
}
echo $result; // move it here
您将根据您的代码获得结果,您将
在每个循环
执行中回显结果
因此,要在$result内获取最终值,echo
将其置于循环之外
foreach($a as $v)
{
$result .= " city = '$v' ";
}
echo $result;
删除结果中的字符串连接
$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;
}
您在foreach中是echo$rresult,因此您的字符串或变量是repeat。请尝试以下代码:
$email='aa,bb,cc,dd';
$a=explode(',',$email);
$result="";
foreach($a as $v)
{
$result .= " city = '$v' ";
}
echo $result;
移除字符串concate
$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循环外进行回声
输出
city = 'aa' city = 'bb' city = 'cc' city = 'dd'
不要将echo
放入循环中。这就是为什么它会输出一个不断增长的列表。看起来中队的其他成员刚刚飞进来。也许我也应该输入相同的答案。(开玩笑)@user2810964你知道该怎么办。@Hanky웃潘基有时会很有趣呵呵(+1
);-)
city = 'aa' city = 'bb' city = 'cc' city = 'dd'