问题:
我有两个数组,其中一个产生一个类别,第二个产生该类别的项目。我希望这些项目都在每个类别中,但我无法使其发挥作用。
PHP代码:
foreach ($current['Children'] as $key => $value)
{
$query = "SELECT * FROM betyg_items WHERE CID = '{$key}' AND Status = '1' ORDER BY CID ASC";
$result = mysql_query($query) or die ('Database Error (' . mysql_errno() . ') ' . mysql_error());
$_SESSION['keys'][$key] = $value;
while ($row = mysql_fetch_assoc($result))
{
$_SESSION['items'][$row['IID']] = array(
'ID' => $row['IID'],
'CID' => $row['CID'],
'Description' => $row['Description']
);
}
}
$ _ SESSION ['keys']将包含:
Array
(
[2] => Integration av källorna
[3] => Belysning av egna resultat
[4] => Referenser
)
$ _ SESSION ['items']将包含:
Array
(
[1] => Array
(
[ID] => 1
[CID] => 2
[Description] => Källorna refereras separat
)
[2] => Array
(
[ID] => 2
[CID] => 2
[Description] => Vissa försök till sammanbindning
)
[3] => Array
(
[ID] => 6
[CID] => 3
[Description] => Inga jämförelser mellan egna och andras resultat
)
[4] => Array
(
[ID] => 7
[CID] => 3
[Description] => Kort redovisning av likheter och skillnader mellan egna och andras resultat
)
[5] => Array
(
[ID] => 11
[CID] => 4
[Description] => Många formella felaktigheter i referens- och litteraturförteckning; ej primärkällor
)
[6] => Array
(
[ID] => 12
[CID] => 4
[Description] => Vissa formella fel, vissa källor av mindre kvalitet
)
)
问题:
如何通过使用CID值将每个项目放入它对应的数组索引中?
情境:
例如,包含数字2的所有CID都应该进入“[2] => Integrationavkällorna”,依此类推。
期望的输出:
Array
(
[2] => Integration av källorna
[1] => Array
(
[ID] => 1
[CID] => 2
[Description] => Källorna refereras separat
)
[2] => Array
(
[ID] => 2
[CID] => 2
[Description] => Vissa försök till sammanbindning
)
[3] => Belysning av egna resultat
[3] => Array
(
[ID] => 6
[CID] => 3
[Description] => Inga jämförelser mellan egna och andras resultat
)
[4] => Array
(
[ID] => 7
[CID] => 3
[Description] => Kort redovisning av likheter och skillnader mellan egna och andras resultat
)
[4] => Referenser
[5] => Array
(
[ID] => 11
[CID] => 4
[Description] => Många formella felaktigheter i referens- och litteraturförteckning; ej primärkällor
)
[6] => Array
(
[ID] => 12
[CID] => 4
[Description] => Vissa formella fel, vissa källor av mindre kvalitet
)
)
答案 0 :(得分:1)
$final_arr = array();
$i = 0;
foreach ($current['Children'] as $key => $value)
{
$query = "SELECT * FROM betyg_items WHERE CID = '{$key}' AND Status = '1' ORDER BY CID ASC";
$result = mysql_query($query) or die ('Database Error (' . mysql_errno() . ') ' . mysql_error());
$final_arr[$i]['key'] = $value;
while ($row = mysql_fetch_assoc($result))
{
$final_arr[$i]['items'][] = array(
'ID' => $row['IID'],
'CID' => $row['CID'],
'Description' => $row['Description']
);
}
$i++;
}
最终产量将是: 的 $ final_arr 强>
Array
(
[0] =>
['key']=> Integration av källorna
['items'] =>
[0] => Array
(
[ID] => 1
[CID] => 2
[Description] => Källorna refereras separat
)
[1] => Array
(
[ID] => 2
[CID] => 2
[Description] => Vissa försök till sammanbindning
)