这是我正在创建数组的代码,因此最终产品将返回以下内容:
$values=user_email => displayname
user_email => displayname
user_email => displayname
我正在使用下面列出的数组:
array [0] => std.class Object( [id] = 12
[user_login] = bob
)
[1] => std.class Object( [id] = 15
[user_login] = frank
)
当我运行下面列出的代码时,它只运行在最后一个值上。我试过用“。”在变量名称,但它似乎只是将它添加到变量而不是我需要它的数组。
我希望做的是:
以下是我一直在处理的代码,截至目前,除了返回每个用户外,它只执行所有操作,它只返回最后一个用户
function show_user_dropdown($values, $field){
if( $field->id == 155 ){
$wp_user_search = new WP_User_Query( array( 'role' => 'Hrrepresentative', 'fields' => array('user_login', 'ID') ) );
$authors = $wp_user_search->get_results();
$value['options']=array();
foreach ($authors as $a) {
$displayname=get_the_author_meta('display_name', $a->ID);
$emailname=get_the_author_meta('user_email', $a->ID);
$validation=array($emailname=>$displayname);
$values['options']=$validation;
$values['use_key'] = true;
}
}
return $values;
}
我需要做些什么来解决这个问题?
答案 0 :(得分:1)
你有'价值'和'价值'。我不认为数组符号是如何工作的。我认为你做这样的事情会更好:
$values[$id]['option'] = $validation;
编辑:详细说明,$ value只有1个值(最后一次运行foreach循环)。无论如何,您还将覆盖$ values ['option']中的先前值。您需要使用带索引的多维数组。
答案 1 :(得分:0)
您正在循环中重新分配$values['options']=$validation;
。
以这种方式使用:
$values['options'][]=$validation;
答案 2 :(得分:0)
要获得您显示的数组结构,请尝试:
$values['options'][$emailname] = $displayname;