Arrays vergleichen PHP

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Arrays vergleichen PHP

    Hi,

    ich hätte da mal ne Frage

    und zwar möchte ich zwei Arrays vergleichen ... genauer: ein Assoziatives Array und ein normales Array.

    Folgende Problemstellung:

    Array $all (Hans, Meier, Müller)

    AssoziativesArray:
    $aarr1["Hans"] = 123
    $aarr1["Meier"] = 234
    $aarr1["Müller"] = 345

    Nun möchte ich per foreach($all as $value)
    if[$value==$aarr1["$value"]]
    echo $aarr1["$value"]

    so oder so ähnlich müsste es aussehen ... will halt das standard array mit dem stringwert des AssoziativenArrays vergleichen und bei Richtigkeit den Wert des Assoziativen Arrays ausgeben ...

    verzweifel da ... hab da nun schon zu lange rum gemacht ... denke ma es ist net wirklich schwer, aber wenn man mal aufm Schlauch steht, dann richtig

    Dann schon ma danke im Voraus für euer Bemühen und Hilfe!

    Gruß
    greywolve
    Benni

  • #2
    Re: Arrays vergleichen PHP

    Meinst du sowas wirklich triviales wie
    PHP-Code:
    foreach($all as $key) {
        if(isset(
    $aarr1[$key])) {
            echo 
    $aarr1[$key]."<br>\n";
        }

    ...?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      das könnte hinkomen ...

      will halt:

      array1 ("Heiner", "...")

      array2["Heiner"]="keineAHnung"
      ["..."]="..."

      vergleichen ... sprich will prüfen ob "Heiner" aus dem ersten array im zweiten vorkommt, um "keineAhnung" zu erhalten ... und diese Prüfung soll für jeden wert aus dem ersten Array stattfinden ...

      wusste, dass das nicht schwer ist, aber nach 2 Stunden skripten kann man irgendwann auch mal aufm Schlauch stehen - vor allem nach 9 Stunden Arbeit ^^

      edit: habe ein Message Skript fürs Netzwerk geschrieben, dass die Benutzer per PHP im AD abfragt, und die IP Adresse dazu erlangt ... um danach per net send eine Message an die Benutzer zu schicken ...

      im ersten Array sind die Benutzernamen der AD Gruppe hinterlegt, im Assoziativen Array die Benutzer des gesamten Netzwerksegmentes mit den dazugehörigen IP Adressen, wo sich die Nutzer gegenwärtig eingeloggt haben ... (wenn alles klappt, post ich hier mal das Script ... evtl kanns ja jemand gebrauchen)
      Zuletzt geändert von greywolve; 07.06.2006, 22:07.

      Kommentar


      • #4
        Re: Re: Arrays vergleichen PHP

        Original geschrieben von wahsaga
        Meinst du sowas wirklich triviales wie
        PHP-Code:
        foreach($all as $key) {
            if(isset(
        $aarr1[$key])) {
                echo 
        $aarr1[$key]."<br>\n";
            }

        ...?
        also das funktioniert nicht ... um nochmals meine Problematik zu verdeutlichen ...

        Array:
        $array=AWert
        assoziatives Array:
        $aarr["Wert"]=AAWert

        Ich will für jeden AWert überprüfen, ob AWert als Wert im assoziativen Array vorkommt... Falls Ja, soll AAWert ausgegeben werden. Ich hoffe so kommt meine Problematik besser zum Vorschein.

        Trotzdem nochmals danke für den Vorschlag ...

        und weiterhin danke für das Bemühen

        Benni

        Kommentar


        • #5
          PHP-Code:
          $col1 = array();
          $col2 = array();
          $all = array();

          $datei "netscandn.tmp"// Name der Datei
          $array file($datei); // Datei in ein Array einlesen

          for ($i=0$i<count($array); $i++){

              list (
          $c1$c2) = split (":"$array[$i]);
              
          array_push($col1$c1);
              
          array_push($col2$c2);
              }

          for (
          $i=0$i<$info["count"]; $i++) {

              
          $info[$i]["cn"][0] = strtoupper($info[$i]["cn"][0]);
              
          array_push($all$info[$i]["cn"][0]);
                 }

          for (
          $i=0$i<=$col1["count"]; $i++) {
              
          $IP_Name["$col2[$i]"]="$col1[$i]";

          ab hier sollte dann die Überprüfung stattfinden ...

          Kommentar


          • #6
            Re: Re: Re: Arrays vergleichen PHP

            Original geschrieben von greywolve
            Ich will für jeden AWert überprüfen, ob AWert als Wert im assoziativen Array vorkommt...
            Das war bei deinem Beispiel überhaupt nicht der Fall.

            Was du eigentlich meinst, ist ob das Element aus dem ersten Array als Schlüssel im zweiten vorkommt.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              genau ... das dürfte es sein ...

              PHP-Code:
              for ($i=0$i<=$col1["count"]; $i++) {
                  
              $IP_Name["$col2[$i]"]="$col1[$i]";

              bemerke grad, dass dies auch net wirklich nötig ist und vorher beim list direkt gemacht werden kann ^^
              Zuletzt geändert von greywolve; 08.06.2006, 09:11.

              Kommentar


              • #8
                ich habe dieses Script bereits mit Perl geschrieben ... aber will dieses Script auf PHP porten, somit ist perl nicht zwingend erfordlerlich und erspart Ressource ...

                hier der PERL Code

                Code:
                # Hash erzeugen (IP und NetBios-Name)
                    my %IP_Name;
                    for(my $i=0;$i<=$#col1;$i++)
                    {
                        $IP_Name{"$col2[$i]"} = "$col1[$i]";
                    }
                
                    # Nach dem NetBios-Name suchen und IP ausgeben
                    foreach(@all)
                    {
                        if($IP_Name{"$_"})
                        {
                            my $ippost = $IP_Name{"$_"};
                            print "<font size=2>$_ wurde gefunden und hat IP: " . $IP_Name{"$_"} . "! \n <a href=\"more.pl?$ippost\">more</a></font>";
                            print "<br>";
                            `net send $IP_Name{"$_"} $valuemsg`;
                        }
                        else 
                        {
                            print "<font size=2>$_ wurde nicht gefunden!</font>";
                            print "<br>";
                        }
                    }

                Kommentar

                Lädt...
                X