如何设置一个单选按钮动态检查通过php


How to set a radio button checked dynamically via php?

在这段代码中,我们想用shell读取文件的第7行,如果值为"set",我们想将复选框的状态更改为checked。

<input type="radio" name="myName" value="myValue"  <?php
     if( shell_exec("./read_from_db 7")=="set") echo ' checked="checked"'
?>

似乎这段代码不工作。即使文件的第7行是"set",也没有选中单选按钮。为什么呢?代码有什么问题?

来自shell_exec的结果是给你一些额外的东西。

尝试使用trim,因此:

if( trim(shell_exec("./read_from_db 7"))=="set") echo ' checked="checked"'

下面是一个测试:

var_dump(shell_exec('echo set'));
echo '<br>';
var_dump(trim(shell_exec('echo set')));
echo '<br>';
$v1 = shell_exec('echo set') == 'set';
$v2 = trim(shell_exec('echo set')) == 'set';
var_dump($v1);
echo '<br>';
var_dump($v2);

和输出:

字符串(4)"set "
字符串(3)"套"
bool (false)
bool(真正的)

你可以看到,即使原始代码中没有空格,它也在那里添加了一些东西。我猜它是某种换行符或类似的东西