Ich habe mein Problem im Wesentlichen gelöst, komme jetzt aber an einer Stelle nicht weiter. Mit arsort und Array_keys bekomme ich die richtigen Pfade (siehe setPageOrder-Teil unten im Code). Allerdings besteht das Problem, dass arsort mir bei identischen Elementen (also gleichen Punktwerten in den Skalen) nicht random irgendeins auswählt, sondern immer ein bestimmtes (ich nehme an, weil es als erstes im Code genannt wird). Das zerschießt mir ein Stück weit die Studie. Ich hoffe ich habe das Problem klar erklärt... Wie bekomme ich ihn dazu, bei identischen Elementen eins zufällig auszuwählen (oder sogar zwei, dann aber diesen beiden auch in zufälliger Reihenfolge)?
Anbei der Code:
$SumSoz = valueSum(
$Sozial = array(
'SK02_01',
'SK02_02',
'SK02_03',
'SK02_04',
)
);
$SumVer = valueSum(
$Verbal = array(
'SK02_05',
'SK02_06',
'SK02_07',
'SK02_08',
)
);
$SumLog = valueSum(
$Logisch = array(
'SK02_09',
'SK02_10',
'SK02_11',
'SK02_12',
)
);
$SumKre = valueSum(
$Kreativ = array(
'SK02_13',
'SK02_14',
'SK02_15',
'SK02_16',
)
);
// Sortiere mir alle Summen und geben sie mir aus
$SumArray = array("Soz" => $SumSoz, "Ver" => $SumVer,"Log" => $SumLog,"Kre" => $SumKre);
arsort($SumArray);
$Dim1 = array_keys($SumArray)[0];
$Dim2 = array_keys($SumArray)[1];
if (
($Dim1 == "Ver") and
($Dim2 == "Soz")
) {
setPageOrder('SE01-SE11, SE20, SE12-SE19, WF07, VE01-VE05, WF03');
}
if (
($Dim1 == "Soz") and
($Dim2 == "Ver")
) {
setPageOrder('VE01-VE05, WF07, SE01-SE11, SE20, SE12-SE19, WF03');
}
if (
($Dim1 == "Kre") and
($Dim2 == "Soz")
) {
setPageOrder('SE01-SE11, SE20, SE12-SE19, WF07, KR01-KR14, WF03');
}
if (
($Dim1 == "Soz") and
($Dim2 == "Kre")
) {
setPageOrder('KR01-KR14, WF07, SE01-SE11, SE20, SE12-SE19, WF03');
}
if (
($Dim1 == "Ver") and
($Dim2 == "Kre")
) {
setPageOrder ('KR01-KR14, WF07, VE01-VE05, WF03');
}
if (
($Dim1 == "Kre") and
($Dim2 == "Ver")
) {
setPageOrder ('VE01-VE05, WF07, KR01-KR14, WF03');
}
if (
($Dim1 == "Log") and
($Dim2 == "Ver")
) {
setPageOrder ('VE01-05, WF07, LM01-LM07, WF03');
}
if (
($Dim1 == "Ver") and
($Dim2 == "Log")
) {
setPageOrder ('LM01-LM07, WF07, VE01-05, WF03');
}
if (
($Dim1 == "Soz") and
($Dim2 == "Log")
) {
setPageOrder ('LM01-LM07, WF07, SE01-SE11, SE20, SE12-SE19, WF03');
}
if (
($Dim1 == "Log") and
($Dim2 == "Soz")
) {
setPageOrder ('SE01-SE11, SE20, SE12-SE19, WF07, LM01-LM07, WF03');
}
if (
($Dim1 == "Log") and
($Dim2 == "Kre")
) {
setPageOrder ('KR01-14, WF07, LM01-LM07, WF03');
}
if (
($Dim1 == "Kre") and
($Dim2 == "Log")
) {
setPageOrder ('LM01-LM07, WF07, KR01-KR14, WF03');
}