PHP数组中的PHP语法

时间:2014-05-06 21:31:01

标签: php html arrays

我有这个数组:

$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>

3 个答案:

答案 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."
}

让您了解自己应该做些什么。