我为每个用户提供了1个字段,这为我提供了一系列技能:
$user->user_description
用户1 =地理,英语,数学,科学
用户2 =英语,数学,地理
用户3 =法语,数学
注意 每一个都是逗号分隔字符串的短语
然后我有另一个性别字段,我得到的每个用户:
get_user_meta( $the_user_id, $gender, $single );
用户1 =男性
用户2 =女性
用户3 =男性
我正在寻找的输出是:
这是我循环用户的方式:
$blogusers = get_users( 'orderby=nicename&role=author' );
foreach ( $blogusers as $user ) {
注意
我试图在这里进行简化,但我更进一步了解了我拥有的代码in another question。您可能需要的任何其他信息我准备提供它,它真的让我堆叠。阻止我的主要方面是,如果将性别与每种技能分开并计算在一起,将如何将性别与这些技能联系起来。
我设法做到了:
但是,一旦拆分,就无法为每项技能添加性别
答案 0 :(得分:0)
只是一个例子,假设每个用户都拥有保存该值的这些变量。 $ i用于循环新数组的每个位置。我不确定你是如何完全循环用户的,通常我会在一段时间内($ row = $ result-> fetch_assoc)类型的情况下这样做。
$blogusers = get_users( 'orderby=nicename&role=author' );
for($i=0;$i<count($blogusers);$i++){ // run through your list of individuals
$userAttribList[$i]['gender'] = $gender; // Assign the position 0 attribute
$userAttribList[$i]['role'] = $role; /// assigb pos attribute
$userAttribList[$i]['skill'] = $skill; // assign pos 0 attribute
}
echo "<xmp>";
print_r($userAttribList);
echo "</xmp>";
将打印出这样的userAttribList = array([0] =&gt;([&#39; gender&#39;] =&gt; male,[&#39; role&#39;] =&gt; male,[ &#39;技术人员&#39;] =&GT; skiiing));
只是一个例子,不是实际数据,而是你明白了
循环并像这样使用
foreach($userAttribList as $user){
echo $user['gender'];
echo $user['skill'];
echo $user['role'];
}
答案 1 :(得分:0)
如果你可以建立一个看起来大致如此的组合数组:
$users[] = array('description'=>'Geography, English, Math, Science', 'gender' => 'male');
$users[] = array('description'=>'English, Math, Geography', 'gender' => 'female');
$users[] = array('description'=>'French, Math', 'gender' => 'male');
以下内容:
$roles = array();
foreach($users as $id => $values){
$temp_roles = explode(',', $values['description']);
foreach($temp_roles as $k => $v){
$roles[trim($v)][$values['gender']][] = true;
}
}
foreach($roles as $skill => $gender){
$males = count($gender['male']);
$females = count($gender['female']);
$total = $males + $females;
echo "We have {$total} {$skill} teachers, {$males} males, {$females} females <br>";
}
将产生(格式由您决定):
我们有2位地理老师,1位男性,1位女性 我们有2名英语教师,1名男性,1名女性 我们有3名数学老师,2名男性,1名女性 我们有1名科学教师,1名男性,0名女性 我们有1名法国教师,1名男性,0名女性