0

如何检查变量是否label_$value存在?

例如:

<?php foreach($status_values as $value => $label){ ?>
    <input type="radio" name="status" value="<?php echo $value; ?>" <?php if($status == $value){ echo ' checked="checked"'; }?> />
    <?php echo (isset("label_{$value}")) ? "label_{$value}" : $label; ?>
<?php } ?>

这给出了错误:解析错误:语法错误, isset 的意外 '"'

但是当我有任何语法错误时:

<?php echo ("label_{$value}") ? "label_{$value}" : $label; ?>

所以我想:

  1. 检查变量是否存在:$label_foo
  2. 使用默认值$label
4

2 回答 2

3

你必须使用可变变量。采用

<?php
$label_test = "Hello";
$value = "test";
echo (isset(${"label_{$value}"})) ? "label_{$value}" : $label;
?>
于 2013-07-02T14:20:32.910 回答
0

这不是你编译变量名的方式。尝试isset(${"label_$value"});

于 2013-07-02T14:20:37.363 回答