我想从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”,但该数组可能有多个值。
我该如何取回它?非常感谢。
最合适的回答,由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]);