我有这个数组:
$output = array( 'test' => "<b>Blah blah</b>", 'test2' => "<b>Hello World</b> if ($foo = 4){ echo "!"; }",
);
如何在数组中引入任何PHP语句?
示例:“test2”,上面带有if语句。
更新(这是我试图投入数组的实际代码):
> <select id='user1' name='user1'>
> <option selected disabled>Select User</option>";
> for($x=0;$x<$arrlength2;$x++){
> if ((isset($_POST['user1'])) && ($_POST['user1'] == $arraydt2[$x]))
> {
> echo "<option selected='" . $arraydt2[$x] . "' value=\"$arraydt[$x]\">$arraydt2[$x]</option>";}
> else
> echo "<option value=\"$arraydt2[$x]\">$arraydt2[$x]</option>";
> }
> echo "</select>
答案 0 :(得分:2)
您可以使用此类代码实现相同目的:
$output = array( 'test' => "<b>Blah blah</b>",
'test2' => "<b>Hello World</b>".(($foo == 4 ) ? '!' : '') );
它被称为三元运算符。更多相关信息:http://www.php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary
如果你想在修改后的问题中实现结果,你应该简单地将$ value赋值给变量,然后将$赋值给数组,如下所示:
$variable = '';
if ($a == '...') {
$variable .= '...';
}
if ($b == '...' and $c != '...') {
$variable .='...';
}
$output = array( 'test' => "<b>Blah blah</b>",
'test2' => $variable);
);
答案 1 :(得分:0)
不太确定你想要完成什么,但鉴于你的上一次更新,听起来你不想将php syntax
放入你的数组中,你想把动态生成的html放入你的数组中。也许是这样的:
$output = array();
$output['test'] = "<b>Blah blah</b>";
$output['test2'] = "<b>Hello World</b>";
if ($foo == 4) {
$output['test2'] .= "<select id='user1' name='user1'>";
$output['test2'] .= "<option selected disabled>Select User</option>";
for($x=0;$x<$arrlength2;$x++) {
if ((isset($_POST['user1'])) && ($_POST['user1'] == $arraydt2[$x])) {
$output['test2'] .= "<option selected='" . $arraydt2[$x] . "' value=\"$arraydt[$x]\">$arraydt2[$x]</option>";}
else
$output['test2'] .= "<option value=\"$arraydt2[$x]\">$arraydt2[$x]</option>";
}
$output['test2'] .= "</select>";
}
答案 2 :(得分:0)
$output = array();
for.....{
$output[] = "your content here."
}
让您了解自己应该做些什么。