我有一個這樣的數組:來自陣列創建數組值
$lessonOptions=array();
$lessonOptions[0]=array("Physics","6.00","2015-01-01","-","4");
$lessonOptions[1]=array("Physics","16.00","2015-01-01","-","2");
$lessonOptions[2]=array("Maths","10.00","2015-07-01","-","10");
$lessonOptions[3]=array("Maths","20.00","2015-07-01","-","10");
我想創建一個新的數組稱爲optionarray輸出包含: **
物理學6.00 2015-01-04 -
物理學16.00 2015年1月1日 -
數學10.00 2015年7月1日 -
數學20.00 2015年7月7日 -
我的問題是,我可以看到數學的每一行,但只有物理學的一個行缺少。 如何顯示所有行?
我實際的代碼是:
$lessonGroup=$lessonOptions[0][0];
$display=FALSE;
$state=0;
$nbLessons=count($lessonsOptions);
for ($i = 0; $i<$nbLessons; $i++)
{
if ($i+1!=$nbLessons) $lessonGroupSuivant=$lessonOptions[$i+1][0];
else $display=TRUE;
switch ($state)
{
case 0 :
$infoLesson[$state]=$lessonOptions[$i];
default :
{
if ($lessonGroup==$lessonGroupSuivant)
{
$infoLesson[$state]=$lessonOptions[$i];
$state=$state+1;
}
else
{
$display=TRUE;
$lessonGroup=$lessonGroupSuivant;
$state=0;
}
}
}
if ($display==TRUE)
{
//var_dump($infoLesson);
$display=FALSE;
}
}
我實際的數組(錯誤) 正如你所看到的,我的數組的大小是1,我需要有2個,因爲我有兩個領域的教訓物理學。
array(1) { [0]=> array(5) { [0]=> string(31) "physics" [1]=> string(10) "6.00" [2]=> string(10) "2015-01-01" [3]=> string(1) "-" [4]=> float(42) } }
array(2) { [0]=> array(5) { [0]=> string(15) "Maths" [1]=> string(11) "10.00" [2]=> string(10) "2015-07-01" [3]=> string(1) "-" [4]=> float(10) } [1]=> array(5) { [0]=> string(15) "Maths" [1]=> string(11) "10.00" [2]=> string(10) "2015-07-12" [3]=> string(1) "-" [4]=> float(10) } }
什麼是你acually想達到什麼目的? – Djip
@Djip我的新陣列infoLesson需要有所有lineOptions選項。我單獨顯示所有的課程 – kingmaker
很不清楚你想實現什麼 –