配列を回す

さて配列を回していこう

 

1.ループした回数をカウント

2.ループの中のif文

の2つのことについて下記のソースコードで説明していく

サンプル3
デフォルト
>|php|
<?php
$group1[0]['name'] = '一郎';
$group1[0]['age'] = '18';
$group1[0]['gender'] = '男性';


$group1[1]['name'] = '和子';
$group1[1]['age'] = '26';
$group1[1]['gender'] = '女性';

$group1[2]['name'] = '二郎';
$group1[2]['age'] = '36';
$group1[2]['gender'] = '男性';


$group2[0]['name'] = '一助';
$group2[0]['age'] = '18';
$group2[0]['gender'] = '男性';


$group2[1]['name'] = '和香子';
$group2[1]['age'] = '26';
$group2[1]['gender'] = '女性';

$group2[2]['name'] = '二助';
$group2[2]['age'] = '36';
$group2[2]['gender'] = '男性';

$class_list[]=$group1;
$class_list[]=$group2;

$count_class = 0;
foreach ($class_list as $class_key => $class) {
$count_class++;
$count_group = 0;
foreach ($class as $group_key => $group) {
if ($class_list[$class_key][$group_key]['gender'] == '男性') {
echo $class_list[$class_key][$group_key]['name'];
}
$count_group++;
echo $count_group;
}
}

 

 

・先ず1.ループした回数をカウントについて、

 デフォルトのecho $count_group;では「123123」が表示する。

 

 それを上下変えて1回カウントしたあとに表示するのではなくにすれば、

 echo $count_group;

 $contn_gorup++;

 「012012」と表示するになる。

 

 それとカウンタの初期化$contn_gorupをコメントアウトすると、

12345」とループした2周分を全部数える、

$count_class は一番外側のループのカワンタであるので$count_class = 0;を

コメントアウトしても変わらないね。

 

・それからループの中のif文について考えよう。

 デフォルトのecho $class_list[$class_key][$group_key]['name'];で

一郎二郎一助二助」と男性の名前だけは表示する。

 

 こうしてif文で男性と指定したから

  if ($class_list[$class_key][$group_key]['gender'] == '男性') {
 echo $class_list[$class_key][$group_key]['name'];
 }

 

 おれは今基本的にループの中でのif文はifの条件に合ったループと理解してる。

 このように考えて、デフォルトはgenderは男性であるループの名前だけを表示すると 理解できる。

 

 

これでは分かりにくいかもしれませんが、

すぐ良いものを書こうとすると書けなくなる感じがしますから、

今後少しずつ成長していきたいと思ってます($・・)/~~~