需要帮助从多维数组中获取特定值

时间:2015-08-05 作者:James Myers

我想从Wordpress类型插件中为用户检索一个特定的元值。我知道该值存储在wpcf团队经验成员类型中。这是一个复选框选项,我想检索所有选定值的列表。

如果我做了以下事情,我会立刻做出反应:

var_dump(get_user_meta($user->ID, \'wpcf-team-experience-member-type\'))
我得到了这样的结果:

array(1) { [0]=> array(1) { ["wpcf-fields-checkboxes-option-f4fe375f6cad3c44eff97e6e6f16deb2-1"]=> array(1) { [0]=> string(7) "student" } } }
wpcf似乎将其所有值都放在一个数组中,最重要的是复选框值也存储在一个数组中。在本例中,我要查找的值是“student”,但该数组可能有多个值。

我该如何取回它?非常感谢。

3 个回复
最合适的回答,由SO网友:HU ist Sebastian 整理而成

获取“First”数组的原因是您没有使用get\\u user\\u元函数的“single”选项。尝试以下操作:

$arr = get_user_meta($user->ID, \'wpcf-team-experience-member-type\',true);
$options = array();
if(is_array($arr)){
    foreach($arr as $key => $value){
        foreach($value as $arrvalue){
             $options[] = $arrvalue;
        }
    }
}
var_dump($options);
这应该会丢弃所有可能存在的选项。

快乐编码,Kuchenundkakao

SO网友:5ervant - techintel.github.io

该数组只包含另一个数组,该数组包含“学生”所在的数组。

您可以使用array_keys() 返回数组的所有键或键的子集,并使用整数键而不是int字符串int访问字符串“student”[0]["wpcf-fields-checkboxes-option-f4fe375f6cad3c44eff97e6e6f16deb2-1"][0], 像这样:

$arr = get_user_meta($user->ID, \'wpcf-team-experience-member-type\');
$keys = array_keys($arr);
var_dump($keys[0][0][0]);

SO网友:Philippe

尝试var\\u dump(get\\u user\\u meta($user->ID,“wpcf团队体验成员类型”),true)。

get\\u user\\u meta的第三个参数(称为$single)指定是返回单个值(true)还是返回数组(false)。默认值为false。

结束

相关推荐

Exclude Tags by Array

谢谢你的帮助!。我正在尝试显示所有标记,但以标记(“作者:”)开头的标记除外。我已经知道了如何排除单个标记(只需将其键入exclude参数)。我已经知道了如何排除标记数组(创建了一个数组并手动添加了几个值)。但我还没有弄清楚如何基于get\\u term\\u by填充数组(或者这是否是最好的方法)。<div id=\"tagarea\"> <div class=\"contained\"> <h2>Categories</h2><