我遇到了以下问题,我将值分配给数组,而我尝试分配的值之一取决于同一数组中的值。
有没有办法以某种方式这样做:
# this code throws a notice
$myArray = [
'keyPairs1' => [
'color' => 'green',
'...' => '...'
],
'keyPairs2' => [
'value' => $myArray['keyPairs1']['color'] === 'green' ? 'yes' : 'no', # this line
'...' => '...'
]
];
PHP在这里向我发出通知:
Notice: Undefined variable: myArray in .../somefile.php on line ...
当然,我可以先简单地定义数组,然后为该值指定一个空字符串,并在创建数组后再执行
$myArray = [
'keyPairs1' => [
'color' => 'green',
'...' => '...'
],
'keyPairs2' => [
'value' => '', # this line
'...' => '...'
]
];
$myArray['keyPairs2']['value'] = $myArray['keyPairs1']['color'] === 'green' ? 'yes' : 'no';
但是如果有任何可行的方法,我宁愿把它全部放在数组中。上述尝试显然没有达到预期的效果。