简化了问题。
$ var1应为“1245”
$ var2应为“1345”
目的是分配公共值(“1”,“4”,“5”) - 只需要分配一次。
$var1="";
$var2="";
$var1.="1"; //need same content for $var2
$var1.="2"; //this is for var1 only
$var2.="3"; //this is for var2 only
$var1.="4"; //need same content for $var2
$var1.="5"; //need same content for $var2
这不是我想要的:
$var1="";
$var2="";
$var1.="1";
$var1.="2";
$var1.="4";
$var1.="5";
$var2.="1";
$var2.="3";
$var2.="4";
$var2.="5";
因为我希望以下作业在代码中只出现一次:
.="1";
.="4";
.="5";
我希望我是明确的。
编辑: 试过这个:
$var1=""; $var2="";
$var2.=$var1.="1";
$var1.="2";
$var2.="3";
$var2.=$var1.="4";
$var2.=$var1.="5";
//$var1=>1245
//$var2=>131241245
$var1=""; $var2="";
$var1.=$var2.="1";
$var1.="2";
$var2.="3";
$var1.=$var2.="4";
$var1.=$var2.="5";
//$var1=>121341345
//$var2=>1345
答案 0 :(得分:1)
使用此:
$var1 = $var2 = "1245";
$var2[1] = "3";
或者:
$var1 = $var2 = '1';
$var1 = $var2 .= '2';
$var1 = $var2 .= '4';
$var1 = $var2 .= '5';
$var2[1] = '3';
答案 1 :(得分:1)
试试这个:
$var1 = $var2 = "5";
$var1 = $var2 = "4" . $var2;
$var2 = "3" . $var2;
$var1 = "2" . $var1;
$var2 = "1" . $var2;
$var1 = "1" . $var1;
答案 2 :(得分:0)
您应该尝试将两个变量拆分为数组。
$var1 = "1234";
$var2 = "145";
$tab1 = str_split($var1);
$tab2 = str_split($var2);
$tab3 = array();
foreach($tab1 as $value){
if(in_array($value, $tab2))
{
$tab3[] = $value;
}
}
return implode('', $tab3);
答案 3 :(得分:0)
如果要修改的变量数量有限,可以创建一个引用传递变量的辅助函数:
function append($append, &$var1, &$var2 = null) {
$var1 .= $append;
if ($var2 !== null) {
$var2 .= $append;
}
}
并像
一样使用它$var1 = $var2 = '';
append('1', $var1, $var2);
append('2', $var1);
append('3', $var2);
append('4', $var1, $var2);
append('5', $var1, $var2);
var_dump($var1,$var2);
答案 4 :(得分:-1)
从其他答案开始,我想出了一个对我来说更舒服的解决方案:
$var1[]=$var2[]="1";
$var1[]="2";
$var2[]="3";
$var1[]=$var2[]="4";
$var1[]=$var2[]="5";
$var1=implode("",$var1);
$var2=implode("",$var2);
//$var1=1245
//$var2=1345