多个复选框数组的Checked()出现问题

时间:2017-07-05 作者:user41091

我无法让checked()返回我期望的结果。

数据:

Options:  = array (
\'baseball\' => \'Baseball\',
\'golf\' => \'Golf\',
\'hockey\' => \'Hockey\',
)

Values:  = array (
\'baseball\' => \'Baseball\',
\'golf\' => \'\',
\'hockey\' => \'\',
)
我正在使用此代码尝试返回“checked=”checked“\'

foreach ( $options as $key => $title ) {
    rpq_plugin_debug_var( $key, \'Key: \' );
    rpq_plugin_debug_var( $title, \'Title: \' );
    $checked = checked((in_array($key, $values)), true, false);
我希望Basketball选项返回“checked=”checked“,但它返回“”。

我也尝试过这个,实际上对我来说更有意义,但也没有成功。

$checked = checked((in_array($title, $values)), true, false);
我的错误在哪里?

非常感谢。

编辑:有关答案,请参阅本文下方的评论。

使$值数组不关联。

   Values:  = array (
\'baseball\',
\'golf\'

)
使用此行识别复选标记

$checked = checked((in_array($key, $values)), true, false);

1 个回复
SO网友:Igor Sorish

为什么接受空答案

foreach ( $options as $key => $title ) {
      rpq_plugin_debug_var( $key, \'Key: \' );
      rpq_plugin_debug_var( $title, \'Title: \' );
      $checked = checked((in_array($title, $values)), true, false);
在此循环结束后,您将得到空$checked,因为它将替换每个循环步骤。

跟踪:

1: $checked = \'checked="checked"\'
2: $checked = \'\';
3: $checked = \'\';
循环$检查后=“”;

所以需要返回数组以获得乘法数组的答案,例如:$checked[$key]=checked((in\\u array($title,$value)),true,false);

所以你得到了答案:

$checked = array (
\'baseball\' => \'checked="checked"\',
\'golf\' => \'\',
\'hockey\' => \'\',
)
然后在需要的地方使用。

结束

相关推荐

Admin-ajax.php在子域上无法正常工作

我试图将产品价格(从数据库中提取)乘以cookie存储的货币,对应于切换语言。为了实现这一点,我使用了AJAX脚本和几种方法。问题在于方法currencyRates();尽管在测试环境中,一切都很正常(我使用的是子文件夹而不是子域),但在生产级方法上currencyRates(); 只是返回值1(在方法开始时初始化,当var_dump $rate 在foreach循环中,它给了我期望的值,但当我尝试返回时,它总是在开始变量处初始化的值$rate = 1). 发生了什么事?子域如何影响这种类型的脚本?数据库