Überprüfen Sie, ob ein Array ein anderes Array mit PHP enthält [duplizieren]

Mögliche Duplikate:
Prüfen, ob ein Array alle Elemente eines anderen Arrays enthält

Ich habe so etwas schon einmal im Stackoverflow gepostet, aber die Antworten stellen mich nicht voll zufrieden. Aus diesem Grund stelle ich die Frage erneut, ändere sie aber die ganze Zeit.

Einige Leute haben mir geholfen, eine Funktion zu konstruieren, die prüft, ob einarray($GroupOfEight[$i]) das ist ein element eines mehrdimensionalenarray($GroupOfEight) entspricht einem anderen Array ($ stackArray), wobei die Reihenfolge der Nummern in den Arrays außer Acht gelassen wird.

Was ich jedoch überprüfen muss, ist, ob das erwähntearray($stackArray) enthält eine anderearray($GroupOfEight[$i]) im mehrdimensionalenarray($GroupOfEight) oder nicht, das heißt mainarray($stackArray) kann aus mehr Elementen bestehen alssubarrays($GroupOfEight[$i]).

Hier ist der eine Arbeitscode, den ich bisher gesammelt habe, der aber auf die gewünschte Version geändert werden muss:

 <?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);
?>

Alle logischen Ideen oder Lösungen werden sehr geschätzt. Vielen Dank.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage