Mögliche Duplizieren:
Checking if an array contains all elements of another arrayÜberprüfen Sie, ob ein Array ein weiteres Array mit PHP enthält
Ich habe vor, so etwas zu dem Stackoverflow geschrieben, aber die Antworten nicht vollständig befriedigt mich. Deshalb schreibe ich die Frage erneut, aber ich ändere die Frage die ganze Zeit.
Einige Leute halfen mir, eine Funktion zu konstruieren, wenn ein array($GroupOfEight[$i])
prüft, die ein Element eines mehrdimensionalen array($GroupOfEight)
ist gleich ein weiteres Array ($ stackArray), in den Arrays die Anzahl Bestellung zu vernachlässigen.
Was ich jedoch prüfen müssen, ob die erwähnte array($stackArray)
jede andere array($GroupOfEight[$i])
im mehrdimensionalen array($GroupOfEight)
enthält oder nicht, das heißt, Haupt array($stackArray)
mehr Elemente als subarrays($GroupOfEight[$i])
bestehen.
Hier ist derjenige Code arbeiten, die ich bisher gesammelt habe, sondern müssen auf die Version geändert werden, ich will:
<?php
$GroupOfEight = array (
array(0,1,3,2,4,5,7,6),
array(4,5,6,7,15,12,13,14),
array(12,13,15,14,8,9,11,10),
array(2,6,14,10,3,7,15,11),
array(1,3,5,7,13,15,9,11),
array(0,4,12,8,1,5,13,9),
array(0,1,3,2,8,9,11,10)
);
$stackArray = array(0,4,12,1,9,8,5,13,9,2,5,2,10);
/*$stackArray gets value with POST Method by URL parameter.
This is just the example. As you see this array contains
$GroupOfEight[4], and also it contains many other numbers.*/
/* The function given below checks if $stackArray equals any
of the subarrays of $GroupOfEight. However, we want to check
if $stackArray caontains any of the subarrays of function.
If it does, function should return the index number, if it
doesnt it should return -1.*/
function searcheight($stackArray,$GroupOfEight){
for($i=0; $i<count($GroupOfEight);$i++){
$containsSearch = (count(array_intersect($stackArray,$GroupOfEight[$i])) == count($stackArray) && count(array_intersect($stackArray,$GroupOfEight[$i])) == count($GroupOfEight[$i]));
if($containsSearch){
return $i; //This specifies which index in GroupOfEight contains a matching array
}
}
return -1;
}
// Calling the function that is given above.
echo searcheight($stackArray,$GroupOfEight);
?>
Jede logische Ideen oder Lösungen freundlich sehr geschätzt werden. Vielen Dank.
Was ist Ihr erwartetes Ergebnis ??? – Baba
Für das angenommene $ stackArray sollte es 4 geben, das ist der Index der enthaltenen Subarray-Indexnummer in $ GroupOfEight – mozcelikors
4 ist 'Array (1,3,5,7,13,15, 9,11)' und ' $ stackArray = array (0,4,12,1,9,8,5,13,9,2,5,2,10); '.. kannst du nicht sehen, dass 3 in der Liste fehlt ??? – Baba