我有以下(简化)代码片段,我想为变量$ shell或$ hole赋值,具体取决于某个条件($ ringIndex === 1)
foreach($rings as $ringIndex=>$ring) {
$polygon = $this->getPolygonFromRing($ring);
if($ringIndex===1) {
$shell = $polygon;
} else {
$hole = $polygon;
}
....
}
如果没有必要,我不想使用额外的变量($ polygon)
我想也许这样的事情会起作用:
foreach($rings as $ringIndex=>$ring) {
($ringIndex===1?$shell:$hole) = $this>getPolygonFromRing($ring);
...
}
答案 0 :(得分:3)
您可以使用变量变量。
foreach($rings as $ringIndex=>$ring) {
${$ringIndex===1?'shell':'hole'} = $this->getPolygonFromRing($ring);
....
}
但是,我将添加我的一般建议:每当你发现自己需要变量变量时,你应该几乎总是使用数组。如果变量类似于$foo1
,$foo2
等,那么它应该是一个索引数组,但在您的情况下,它应该是一个带有键shell
和{{1}的关联数组}。
答案 1 :(得分:0)
:jual
set /p prompt=jual-
if %prompt% == varset goto varset
if %prompt% == varview goto varview
if %prompt% == clock goto clock
if %prompt% == games goto games
if %prompt% == exit exit
:clock
cls
echo %time%
echo Press any key to exit.
timeout 0 >nul
goto clock
pause >nul
goto jual