我有兩個數組需要完全按照相同的順序進行比較,我需要檢查類subA
和subB
中的每個數組是否包含前提條件中的值。如何使用in_array函數比較2個數組
我的先決條件陣列
Array
(
[s1] => MAT
[s2] => ENG
[s3] => PHY
[s4] => CHE
[s5] => FRE
)
和我的類陣列
Array
(
[subA] => MAT
[subB] => ENG
)
Array
(
[subA] => ENG
[subB] =>
)
Array
(
[subA] => MAT
[subB] => PHY
)
Array
(
[subA] => CHE
[subB] =>
)
Array
(
[subA] => MAT
[subB] => FRE
)
我的代碼
$prerequisite = array(
's1' => 'MAT',
's2' => 'ENG',
's3' => 'PHY',
's4' => 'CHE',
's5' => 'FRE'
);
$confirmed = TRUE;
$i = 0;
foreach($prerequisite as $p)
{
if(in_array($prerequisite, $classes[$i]))
{
// The prerequisite has been met
}
else
{
// The prerequisite has not been met
$confirmed = FALSE;
}
$i++;
}
if($confirmed == TRUE) { //run insert query here }
預期輸出
我需要返回TRUE,如果所有的先決條件, 需要它來尋找例如:
- 如果從類
subA
或subB
比賽s1
價值MAT
第一陣列的前提陣列 - 如果從類
subA
或subB
匹配s2
值ENG
從先決條件陣列 秒陣列
- 如果從類
subA
或subB
匹配s3
值PHY
從先決條件陣列 - 第三陣列如果從類
subA
或subB
匹配s4
值CHE
第四陣列從先決條件陣列 - 如果從類
subA
或subB
匹配s5
值第五陣列FRE
來自前提陣列
問題
我總是越來越FALSE
,而不是能夠運行您沒有使用$p
插入查詢
你可以把$你的代碼中的類數組? – z3nth10n
@Ikillnukes我的類數組來自在此條件之前運行的查詢,這就是爲什麼我在我的問題中發佈類數組的輸出 – mirvatJ