PHP - Mehrere Arrays vergleichen?

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von jvbsl.

    PHP - Mehrere Arrays vergleichen?

    Guten Tag liebe Gemeinde :)

    Mal wieder habe ich eine Frage zu PHP...

    Diesmal aber kurz und knackig: Wie kann ich alle Inhalte eines Arrays miteinander über Einstimmigkeit vergleichen?

    Quellcode

    1. if($alle_inhalte_des_arrays_haben_den_gleichen_wert) echo "alle gleich";
    2. else "nicht alle gleich";

    Habe schon Google benutzt aber nichts brauchbares gefunden.

    PS: Ich würde mich über Hilfe von euch sehr sehr freuen :)

    Mit freundlichem Gruß,
    abRobert
    Ja, eine Suchmaschiene bedienen will gelernt sein =)
    Noch muss man klar Keywords eingeben um ein akzeptables Ergebnis zu bekommen. Bald will google aber auch das Fragen richtig Analysiert und dann auch Interpretiert werden, so dass du mit solchen Fragen auch weiter kämst ^^
    Hab jetzt alles durchgeguckt. Aber so vergleicht man ja nur 2 Arrays mit einander.
    Aber ich wollte gucken, ob DAS Array nur identische Werte hat...

    Quellcode

    1. check_my_array_($array('value_one', 'value_one', 'value_two', 'value_one'))
    2. echo NICHT ALLE GLEICH;
    3. if(check_my_array_($array('value_one', 'value_one', 'value_one', 'value_one'))
    4. echo ALLE GLEICH;


    Gruß,
    Robert
    Nein O.o du kannst beliebig viele Arrays angeben

    PHP-Quellcode

    1. $arr1 = array("one", "two", "three");
    2. $arr2 = array("one", "two", "three");
    3. $arr3 = array("one", "two", "five");
    4. $diff = array_diff($arr1, $arr2, $arr3);
    5. if(count($diff) > 0) {
    6. echo "nicht alle gleich";
    7. } else {
    8. echo "alle gleich";
    9. }
    @Dodo : falsch verstanden :P

    (Ob man da evtl. schon was fertiges aus PHP verwenden kann ka):

    Quellcode

    1. function alleGleich($array)
    2. {
    3. for ($i=1;$i<count($array);$i++)
    4. if ($array[0] != $array[$i])
    5. return false;
    6. return true;
    7. }

    ich denke der Aufruf erklärt sich von alleine...
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---

    PHP-Quellcode

    1. function array_equal_entries($array)
    2. {
    3. $length = count($array);
    4. $count = (int)($length / 2) + 1;
    5. for ($i = 0; $i < $count; ++$i)
    6. {
    7. if ($array[$i] != $array[$length - 1 - $i])
    8. {
    9. return false;
    10. }
    11. }
    12. return true;
    13. }


    Optimierung ftw.
    To make foobar2000 a real random music player, I figured out the only way to achieve this is to use Windows Media Player.

    At some point in time, you recognize that knowing more does not necessarily make you more happy.

    PHP-Quellcode

    1. function array_equal_entries($array)
    2. {
    3. $length = count($array);
    4. $count = (int)($length / 2) + 1;
    5. for ($i = 0; $i <= $count; ++$i)
    6. {
    7. if ($array[$i] != $array[$length - 1 - $i])
    8. {
    9. return false;
    10. }
    11. }
    12. return true;
    13. }


    Jetzt sollte es klappen.

    @ jvbsl: Meine Funktion wird schon bei sehr wenigen Elementen schneller werden als deine, da deine bei jeder Iteration die Funktion count aufruft.
    To make foobar2000 a real random music player, I figured out the only way to achieve this is to use Windows Media Player.

    At some point in time, you recognize that knowing more does not necessarily make you more happy.