2011-01-08 10 views
3

これは不可能かもしれませんが、私はそれを自分で見たことがないかもしれませんが、私は尋ねると思っていました。これが私の配列の場合、配列の共有値を一度に初期化する

$myarr = array(
    'red' => 7, 
    'green' => 7, 
    'blue' => 18, 
    'cyan' => 14, 
    'pink' => 18 
    'brown' => 18 
); 

このような値を一度に設定する方法はありますか? like

'red' && 'green' =>7, 
'blue' && 'pink' && 'brown' => 18, 
'cyan' =>14 

私はこの構文がうまくいくとは思っていませんが、私には同じアイデアが得られますか?

答えて

2

PHP Manualは、これを行う方法についての説明はありません。ところで、あなたは次のように値を初期化することがあります。

$myarr['red'] = $myarr['green'] = 7; 
$myarr['blue'] = $myarr['pink'] = $myarr['brown'] = 18; 
$myarr['cyan'] = 14; 
+0

良い考え。空の配列 '$ myarr = array();'の前に$ myarrを初期化しなければなりませんか? – silow

+0

array()関数による初期化は必要ありません。 $ myarrがまだ存在しない場合は、最初の割り当て時に新しい配列が作成されます。 – Kel

0

それは正直、私は繰り返される値は、同じアレイに含まれる場合、それは有用である可能性の状況を見ることができない、ことはできませんと。

私はそれを得るために例を挙げますか?余談

楽しい:

$bibi = array (
    'foo' == 'bar' => 2, 
); 
$bubu = array (
    'foo' && 'bar' => 2, 
); 

どちらもこの構文は実際に左の式を評価します。のように、2は$ bibi [0]と$ bubu [1]に割り当てられています。