【发布时间】:2017-04-11 17:18:00
【问题描述】:
每个用户都有一个字段,这给了我一系列技能:
$user->user_description
用户 1 = 地理、英语、数学、科学
用户 2 = 英语、数学、地理
用户 3 = 法语、数学
注意 每一个都是一个用逗号分隔的短语
然后我有另一个字段用于我得到的每个用户的性别:
get_user_meta( $the_user_id, $gender, $single );
用户 1 = 男性
用户 2 = 女性
用户 3 = 男性
我正在寻找的输出是:
- 我们有 2 位数学教师,性别为男性
- 我们有 2 位地理教师,性别分别为男和女
- 我们有 1 名法语教师,性别为女性
- 我们有 2 名英语教师,性别分别为男和女
- 我们有 1 名科学教师,性别为男性
这就是我循环用户的方式:
$blogusers = get_users( 'orderby=nicename&role=author' );
foreach ( $blogusers as $user ) {
注意
我试图在这里简化,但我更进一步地使用了我拥有的代码in another question。您可能需要的任何其他信息我都准备好提供了,这真的让我受益匪浅。阻碍我的主要一点是,一旦这些技能被拆分和计数,如何将性别与每个技能联系起来。
我做了什么:
- 拆分逗号分隔列表并将它们推送到数组中
- 检查数组中的重复单词,以便能够获得每个技能的数量,例如2 英语
- 能够拥有全部。男女人数
但是,一旦拆分,无法为每个技能添加性别
【问题讨论】:
-
你想要类似数组 [userID/0] -> ([gender]=>male , [role]=>Math)
-
@clearshot66 是的,只要确保每个用户都有一套技能,这些技能可以共享也可以不共享,对于每项技能,我们仍然需要记住它的性别
标签: php arrays associative-array