我在想,如果像下面這樣會在PHP中有可能:在PHP中,是否可以使用條件變量替換?
<?php echo "Hello {isset($name) ? $name : 'World'}!\n"; ?>
或者我需要做下面的?
<?php echo "Hello " . (isset($name) ? $name : 'World') . "!\n"; ?>
總的來說,我更喜歡拼接替代,因爲我發現字符串連接可以使串困難,使它們過長的閱讀。
其中的上下文是我決定選擇標記中的哪個選項應根據數據庫查詢默認選擇。
完整的上下文:
<?php
echo "
<form action='add_demographics.php' method='post'>
<table>
<input type=hidden name=userId value='{$_SESSION['username']}'/>
<tr><td>User ID:</td><td>{$_SESSION['username']}</td></tr>";
foreach ($inputLabels as $i => $value)
{
echo "
<tr>
<td>{$value['text']}</td>
<td><select name=$i>";
foreach ($value["options"] as $optionName => $optionValue)
{
echo "
<option value=$optionValue {($result[$i]==$optionValue ? ' selected=true' : '')}>$optionValue</option>";
}
echo "
</select></td>
</tr>";
}
echo "
<tr><td><input type='submit' name='submit' value='Submit' /></td></tr>
</table>
</form>";
?>
我認爲你想要做的事情是不可能在一個字符串內,不。 – 2011-01-06 16:57:47
@Pekka:沙丘正在使用{},所以它會正常工作 – shankhan 2011-01-06 17:00:01
@shankhan:精心製作?據我所知,字符串內的`{}`轉義並不意味着您可以使用任意的表達式並對其進行評估。 – 2011-01-06 17:00:59