私のような性質を持つ教師のリストを持っている:連想配列を追加するには?
teacher 1 skills = English, Math
teacher 1 gender = Male
teacher 2 skills = Spanish, Math, Law
teacher 1 gender = sex = Female
teacher 3 skills = English, Geography
teacher 3 gender = Male
私はスキルがさまざまなことができるので、そこにあるどのように多くの英語(および任意の他の物質)の教師に伝えたいまず第一に、私は何をすべきかであります配列内の重複をチェックし、それをカウントする:
$stack = array();
$blogusers = get_users('orderby=nicename&role=author');
foreach ($blogusers as $user) {
$myUsers = $user->user_description (this is the skill list);
$mystrings = strtolower($user->user_description);
$descTokens = explode(',', $mystrings);
$descTokens = array_map('trim',$descTokens);
$stack = array_merge($stack, $descTokens);
}
$count_values = array();
foreach ($stack as $a) {
@$count_values[$a]++;
}
$total_duplicates = 0;
foreach ($count_values as $a) {
if($count_values[$a]<=1){
unset($count_values[$a]);
} else{
$total_duplicates += $count_values[$a];
}
}
することは正しいのです。この
<ul class="margin-top-20">
<?php
foreach ($count_values as $key=>$count) {
echo '<li>'.$count.' di <strong>'.$key.'</li>';
}
?>
</ul>
は、出力は正しいですか:
2 English teachers
2 Math teachers
1 Spanish
1 Law
1 Geography
しかし、私はまた、性別を持っているので、理想的に私は
2 English teachers, 1 male, 1 male
2 Math teachers, 1 male, 1 female
1 Spanish, 1 female
1 Law, 1 female
1 Geography, 1 male
を持っていると思います私が追加してみました:
$sex = array();
$user_sex = get_user_meta($the_user_id, $gender, $single);
array_push($sex, $user_sex);
foreach($descTokens as $lang){
$userSex[$lang] += $user_sex;
}
foreach ($count_values as $key=>$count) {
echo '<li>'.$count.' di <strong>'.$key.' gender '. $userSex[$key] .'</li>';
}
をしかし、それは正しくありません。私はをしようとしている
Fullcode:
<?php
$stack = array();
$userID = array();
$nPost = array();
$listmaterie = array();
$materie = array();
$gender = 'sesso';
$single = true;
$sex = array();
$blogusers = get_users('orderby=nicename&role=author');
$userSex = array();
foreach ($blogusers as $user) {
$myUsers = $user->user_description;
$mystrings = strtolower($user->user_description);
$descTokens = explode(',', $mystrings);
$descTokens = array_map('trim',$descTokens);
$stack = array_merge($stack, $descTokens);
$the_user_id = $user->ID;
$numPosts = count_user_posts($the_user_id);
array_push($userID, $the_user_id);
array_push($nPost, $numPosts);
$user_sex = get_user_meta($the_user_id, $gender, $single);
array_push($sex, $user_sex);
foreach($descTokens as $lang){
$userSex[$lang] += $user_sex;
}
}
// get the count for each language by counting the duplicate strings;
$count_values = array();
foreach ($stack as $a) {
@$count_values[$a]++;
}
$total_duplicates = 0;
foreach ($count_values as $a) {
if($count_values[$a]<=1){
unset($count_values[$a]);
} else{
$total_duplicates += $count_values[$a];
}
}
$count_sex = array();
foreach ($sex as $b) {
@$count_sex[$b]++;
}
$total_duplicates_sex = 0;
foreach ($count_sex as $b) {
if($count_sex[$b]<=1){
unset($count_sex[$b]);
} else{
$total_duplicates_sex += $count_sex[$b];
}
}
?>
<h3 class="margin-top-40">Numero complessivo docenti su Jikū:</h3>
<ul class="margin-top-20 margin-bottom-20">
<?php
$totalInsegnanti = count($userID);
echo '<li>'. $totalInsegnanti .'</li>';
?>
</ul>
<h3>Totale insegnanti per materia su Jikū:</h3>
<ul class="margin-top-20">
<?php
foreach ($count_values as $key=>$count) {
echo '<li>'.$count.' di <strong>'.$key.' gender '. $userSex[$key] .'</li>';
}
?>
</ul>
<h3>Totale insegnanti sesso su Jikū:</h3>
<ul class="margin-top-20">
<?php
foreach ($count_sex as $key=>$count_sex) {
echo '<li>'.$count_sex.' <strong>'.$key.'</strong></li>';
}
?>
</ul>
ダンプ Iは、8(3人のユーザ
var_dump($stack);
アレイ(11){[0] =>文字列を有しています) "francese" [1] => string(7) "chimica" [2] => string(6) "fisica" [3] => string(7) " (6) "fisica" [6] => "chimica" [7] => string(8) " spagnolo」[8] =>列(8) "Franceseの" [9] =>列(6) "fisica" [10] => 列(8) "イタリア語"}
var_dump($sex);
アレイ(3){[0] =>列(7) "MASCHIO" [1] =>列(7) "MASCHIO" [2] => 列(7) "femmina"}
* *「私はプロパティを持つ教師のリストを持っている」 - どのようなことが実際にコードに見えますか?どのようなデータ構造を使用していますか?カスタムオブジェクト?教師は '$ user'変数に入っていますか?それはオブジェクトか配列ですか? – domsson
サンプル入力配列を提供できますか? – Bhaskar
このような質問を投稿しないでくださいどこにエラーが表示されますか? – lalithkumar