-6

問題を単純化しました。

$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 回だけ表示する必要があるためです。

.="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
4

5 に答える 5

1

これを使って:

$var1 = $var2 = "1245";
$var2[1] = "3";

または:

$var1 = $var2 = '1';
$var1 = $var2 .= '2';
$var1 = $var2 .= '4';
$var1 = $var2 .= '5';
$var2[1] = '3';
于 2013-07-19T19:00:33.100 に答える
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);
于 2013-07-19T19:19:02.417 に答える
0

2 つの変数を配列に分割してみてください。

    $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);
于 2013-07-19T19:01:04.117 に答える
-1

他の回答から始めて、私にとってより快適な解決策を思いつきました:

$var1[]=$var2[]="1";
$var1[]="2";
$var2[]="3";
$var1[]=$var2[]="4";
$var1[]=$var2[]="5";
$var1=implode("",$var1);
$var2=implode("",$var2);

//$var1=1245
//$var2=1345
于 2013-07-19T19:27:07.253 に答える