如何从多复选框数组中获取值为1的键


How to get the keys from values = 1 from a multicheckbox array?

在这个问题中,我学会了如何制造内爆。

但现在我需要一些更复杂的东西(我想),在搜索后,我尝试了几个内爆选项,但没有明确的结果,我再次请求帮助。。。

我有一个用类别填充的多复选框(Wordpress)。

每个类别名称都有一个类别id,复选框的值为1表示已选中。

因此,这是检查了一些类别后的示例数组的回声:

<?php $categories = of_get_option('check_categories' ); ?>
<?php print_r($categories); ?>
Array ( 
    [13] => 1 
    [7] => 1 
    [6] => 1 
    [23] => 0 
    [12] => 0 
    [5] => 0 
    [11] => 0 
    [22] => 0     
    [3] => 0 
    [14] => 0 
    [1] => 1 
    [17] => 0 
    [10] => 0 
    [18] => 1 
)

如果我制作<?php echo implode(', ',of_get_option('check_categories' )); ?>

这就是结果:1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1

好的。。。但我不想要这些结果,我需要的是:对于复选框=1,我只需要获得类别Id(键)。在这种情况下完全是这样的:13,7,6,1,18但是如何呢?

我刚刚解决了它。事实上它很简单。

我使用函数内爆和array_keys中的搜索来只选择值为1:的键

<?php echo implode(', ',array_keys($categoriesblog2, 1)); ?>

最后的结果是(女巫是我博客中的分类id):

13, 7, 6, 1, 18