$a="abc";
$b=123;
$c=1;
for ($i=0;$i<3;$i++) {
$str="'" . $a . "' , '" . $b . "', '" . $c . "', '1'";
$sum .= "(" . $str . "),";
}
//output ('abc' , '123', '1', '1'),('abc' , '123', '1', '1'),('abc' , '123', '1', '1'),
echo $sum;
任何人都可以帮我解决上述代码吗?
我希望$sum
只输出一次('abc' , '123', '1', '1'),
。
我必须重复检查$str
。
任何人都可以帮助我或给我一些点击量吗? 谢谢。
答案 0 :(得分:1)
这将检查字符串是否相同。如果是的话,我们继续前进
<?php
$a="abc";
$b=123;
$c=1;
$tempStr = '';
$str = '';
$sum = '';
for ($i=0;$i<3;$i++) {
$tempStr = "'" . $a . "' , '" . $b . "', '" . $c . "', '1'";
if ($tempStr === $str) {
continue;
}//END IF
$str="'" . $a . "' , '" . $b . "', '" . $c . "', '1'";
$sum .= "(" . $str . "),";
}
//output ('abc' , '123', '1', '1')
echo rtrim($sum, ',');
?>
编辑:添加了fiddle here
答案 1 :(得分:0)
它为for块的每次迭代连接到$ str。你必须拿走for语句,所以它只执行一次。然后,您将获得(&#39; abc&#39;,&#39; 123&#39;,&#39; 1&#39;,&#39; 1&#39;),仅限一次。
如果你想检查它是否被重复,你可以通过&#34;,&#34;来解析。通过使用explode()http://www.w3schools.com/php/func_string_explode.asp并检查数组中有多少元素。