我无法让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);
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\' => \'\',
)
然后在需要的地方使用。