2011-12-30 1 views
46

私は一度に5つの変数型の配列を作成したいと思います。これは可能ですか? Javaで私はできることは知っていますが、PHPについては何も見つかりません。私はこのようなことをしたいと思います:Javaでできるように複数の変数をPHPで一度に割り当てることはできますか?

$var1, $var2, $var3, $var4, $var5 = array(); 
+1

[関連](http://stackoverflow.com/questions/6257131/multiple-variable -assignment) –

+1

@DavidThomasそれはうまくいきませんでした。 –

+4

答えに追加するだけで、配列でこれを行うと、各変数は同じものに初期化された* distinct *配列になり、同じ単一配列への参照にはなりません。 [例](http://codepad.org/5FQHs3N0) – jprofitt

答えて

80

はい、できます。

$a = $b = $c = $d = array(); 
9
$var1 = $var2 = $var3 = $var4= $var5 = array(); 
14
$c = $b = $a; 

従って

$b = $a; 
$c = $b; 

と等価である:

$var1 = $var2 = $var3 = $var4= $var5 = array(); 
+3

あなたの答えは混乱しています 相当するはずです: $ b = $ a; $ c = $ a; – valiD

+0

'$ x = [1,2]; $ x = [5,6]; '$ x [] = $ y [] = 0;'あなたの答えに応じて$ xは_ [1,2、[5,6,0]] _実際の結果になります** [1,2,0] **すなわち '$ c = $ a; ' –

+1

上の例は、元の例ではなく配列プッシュで指定された代入を使用しています。配列プッシュの戻り値はプッシュされた値であり、プッシュされた配列は戻りません。代入を行うと、代入からの戻り値は割り当てられた変数になります。 別の言い方をすると、配列pushは右側を返し、代入は左側を返します(これはとにかく右側に等しくなります)。 例では、右の配列プッシュは、左の割り当てにプッシュされたゼロを返します。 '$ y'の最終値にも' 0'がプッシュされていることがわかります。 – DjB

関連する問題