を作成するには、私は上記配列からの同様の要素に基づいて、新しい配列を作成する必要がPHPアレイループのグループと多次元アレイ
$data = array();
$data = Array (
[0] => Array ([class] => 1styear [branch] => IT [Exam] => SEM1 [student name] => Alex [Bio] => Good Boy)
[1] => Array ([class] => 2ndyear [branch] => Finance [Exam] => SEM1 [student name] => Mark [Bio] => Intelligent)
[2] => Array ([class] => 2ndyear [branch] => IT [Exam] => SEM1 [student name] => Shaun [Bio] => Football Player)
[3] => Array ([class] => 1styear [branch] => Finance [Exam] => SEM2 [student name] => Mike [Bio] => Sport Player)
[4] => Array ([class] => 1styear [branch] => IT [Exam] => SEM2 [student name] => Martin [Bio] => Smart )
[5] => Array ([class] => 1styear [branch] => IT [Exam] => SEM1 [student name] => Philip [Bio] => Programmer )
)
以下のように連想多次元配列を有しています。私はアレイグループを作成する必要があることを意味します。例えばクラス要素は1年目と2年目の値が繰り返されます。それゆえ、独特の要素の配列を作り出す。クラスは親配列と内部クラス配列で、分岐ベースの配列と内部分岐型のExam配列と内部のExam配列は学生名とバイオの連想配列でなければなりません。
はとても基本的に、アレイは、クラスに基づいてグループを作成するには
array(
"1styear" => array(
"IT" => array(
"SEM1" => array(
array(
"student name" => "Alex",
"Bio" => "Good Boy"
),
array(
"student name" => "Philip",
"Bio" => "Programmer"
)
),
"SEM2" => array(
array(
"student name" => "Martin",
"Bio" => "Smart"
)
)
)
),
"2ndyear" => array(
"Finance" => array(
"SEM1" => array(
array(
"student name" => "Mark",
"Bio" => "Intelligent"
)
),
"SEM2" => array(
array(
"student name" => "Mike",
"Bio" => "Sport Player"
)
)
)
)
);
次のようになります。私はこれを下回る正常に動作してなかったようですが、どのように
$classgroup = array();
foreach($data as $inarray){
$classgroup[$inarray['class']][] = $inarray;
}
$classarray = array();
foreach($classgroup as $key => $value){
echo $key; // output is 1styear and secondyear
create array like above
}
内の配列を作成します--- ------------------------------ EDIT ------------------- ---------------
以下のループ
私は、p /oを期待しまったが、私は、parray(
'1styear' =>
array (
0 =>
array(
'Exam' => 'SEM1',
'branch' =>
array (
0 => 'IT'
),
),
1 =>
array(
'Exam' => 'SEM2',
'branch' =>
array (
0 => 'IT'
),
),
),
'2ndyear' =>
array (
0 =>
array(
'Exam' => 'SEM1',
'branch' =>
array (
0 => 'Finance',
),
),
1 =>
array(
'Exam' => 'SEM2',
'branch' =>
array (
0 => 'Finance'
),
)
),
)
/oを期待この
のような他のO/Pを必要とする場合、私は、次のループを試みたが、期待通りのO/Pを得ていない
foreach($data as $array){
$grouped[$array["class"]][$array["branch"]][$array["Exam"]][]=array("student name"=>$array["student name"],"Bio"=>$array["Bio"]);
}
foreach($data as $array){
$grouped[$array["class"]][]=array("Exam"=>$array["Exam"],"branch"=>$array["branch"]);
}
@mickmackusa私はすでにP/oをどうあるべきか言及しているネストされた配列 – webpic
@mickmackusaは、ラインを参照してください上記の回答で「とても基本的に、配列は次のようになります」。 – webpic
関連:http://stackoverflow.com/questions/38366694/group-a-multidimensional-array-by-a-key-value – mickmackusa