同时连接2年

时间:2013-07-19 18:50:04

标签: php

简化了问题。

$ 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

5 个答案:

答案 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