Im Array vorhanden?

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

  • Im Array vorhanden?

    Hallo Community ich habe ein kleines Problem. Habe schon die Sufu benutzt weiss aber nicht sorichtig wonach ich suchen muss

    Also aufgabe ist folgendes. Ich möchte prüfen ob ein Wert im Array vorhanden ist.
    Quasi if($Wert == Wertimarrayvorhanden($Wert, $Array) { echo "Hallo welt"; }

    Denke mal so ähnlich wird es aussehen weiss nur leider den Befehlt nicht falls es einen gibt ;( Hoffe ihr habt abhilfe.

    10000 Dank schonmal
    nooby ist besser als gar nicht angangen ;D

  • #2
    in_array()?

    Kommentar


    • #3
      aber in_array gibt doch True zurück als wert oder nicht? und nicht den Wert an sich den er gefunden hat. Ich müsste ja gucken ob eine Variable die in einem Array vorkommt = einer festen anderen Varialbe entspricht. Nicht einfach nur ob sie vorkommt
      Trotzem schonmal Danke
      nooby ist besser als gar nicht angangen ;D

      Kommentar


      • #4
        zu dem zeitpunkt, zu dem du wissen willst, ob $wert im $array enthalten ist, muss der inhalt von $wert bereits klar sein. wonach willst du sonst suchen?

        mach mal ein beispiel für dein problem.

        Kommentar


        • #5
          Also ich habe Daten von Schulungen in einer DB gespeichert. Unter anderem Teilnehmer. In dieser Zelle stehen alle Teilnehmer mit einem ; getrennt. Diese werden dann mit explode in ein array $Teilnehmer gespeichert.
          Zudem lasse ich zum nacheditieren nochmal alle Checkboxen aufrufen durch die Tabelle schulung_team.
          Nun heissen die Checkboxen wie schulung_team klappt auch alles super. Allerdings möchte ich jetzt die Checkboxen schon angeklickt haben, die auch schon eingetragen waren. ich dachte mir das ich dies durch
          if(in_Array($Zelle['User'], $Teilnehmer) ==$Zelle['User']) { echo "checked"} hinbekomme. Gibt es alternativen? Oder bin ich komplett auf dem Holzweg?
          nooby ist besser als gar nicht angangen ;D

          Kommentar


          • #6
            du solltest dich unbedingt über den begriff "normalisierung" im bezug auf datenbanken informieren. deine tabellenstruktur scheint vermurkst zu sein.

            die idee ist klar, das problem nicht. was erwartest du von "==$Zelle['User']"? wenn das element im array liegt, wird der if-block ausgeführt, wenn nicht - dann nicht.
            PHP-Code:
            $teilnehmer = array('foo''bar');
            if(
            in_array('foo'$teilnehmer))
             echo 
            'foo ist dabei';
            else
             echo 
            'foo ist nicht im array'

            Kommentar


            • #7
              ich zähle ja die Checkboxen hoch mit ner schleife hoch. Damit ändert sich der User ja automatisch bei jeder Checkbox. Meine Idee war zu prüfen ob bei der Aktuellen Checkbox der User im Array vorkommt. Wenn ja dann checken wenn nicht dann nicht checken. Mit dem inarray möchte ich also prüfen ob der name für die aktuelle Checkbox in dem array $Teilnehmer vorhanden ist. mit dem ==$Zelle['User'] möchte ich dass er die aktuelle Checkbox prüft.

              Quasi
              Array(Peter,Paul,Maria,Hugo) // Holt er sich aus der Datenbank schulung
              [ ] Peter // Die namen holt er sich aus der Tabelle schulung_team
              [ ] Hilde <-- Prüfe ob Hilde im Array vorkommt und ob jetzt auch grad Hilde abgefragt wird. Wenn ja dann checken
              [ ] Hugo

              Ist irgendwie schlimm sowas zu beschreiben
              Hoffe es wird klarer, glaub aber es ist nicht möglich ;(
              nooby ist besser als gar nicht angangen ;D

              Kommentar


              • #8
                vielleicht kannst du ein wenig relevanten code zeigen..

                Kommentar


                • #9
                  PHP-Code:
                  <input name="teilnehmer[]" type="checkbox"  
                  value="<?PHP echo $Zelle2['user']; ?>
                  <?PHP if(in_array($Zelle2['user'],$teilnehmer)==$Zelle2['user']) echo "checked";?>>
                  erstmal vielen Dank das du mir überhaupt hilfst
                  nooby ist besser als gar nicht angangen ;D

                  Kommentar


                  • #10
                    muh umständlich aber durch zufall warscheinlich nicht elegant aber nach gut 3stunden entlich gelöst

                    PHP-Code:
                    <input name="teilnehmer[]" type="checkbox"  value="<?PHP echo $Zelle2['user']; ?><?PHP if(in_array($Zelle2['user'],$teilnehmer) AND $Zelle2['user']==$Zelle2['user']) echo "checked";?>>

                    100000000000000000 dank für deine Hilfe. Ist echt das beste supportforum hier !!!!!!
                    nooby ist besser als gar nicht angangen ;D

                    Kommentar


                    • #11
                      brich mal deinen code um.

                      und nimm die zweite bedingung vollständig raus.

                      Kommentar


                      • #12
                        dann klappt nicht
                        nooby ist besser als gar nicht angangen ;D

                        Kommentar


                        • #13
                          den code darfst du trotzdem umbrechen (s. regeln)

                          das liegt daran, dass die zweite bedingung keinen sinn macht. das musst du verstehen.

                          Kommentar


                          • #14
                            AND $Zelle2['user']==$Zelle2['user']...
                            das bedeutet beinahe das selbe wie
                            "und" 1=1 ...

                            Diese Bedingung ist immer erfüllt und macht deshalb wenig Sinn.

                            Kommentar

                            Lädt...
                            X