Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP Array mit nur einem Wert

Einklappen

Neue Werbung 2019

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

  • PHP Array mit nur einem Wert

    Moin zusammen,
    wahrscheinlich ist mein Problem wieder sehr simpel für euch, aber durch googeln konnte ich es bisher nicht lösen.

    Ich fülle ein Array mit unterschiedlich vielen Werten (das klappt super)
    und nutze das Array dann weiter in einer Schleife (klappt auch gut)

    Jetzt aber mein Problem:
    Es knn aber vorkommen, das an das Array nur ein einziger Wert übergeben wird. (das soll auch so)

    Nun macht PHP daraus dann natürlich kein Array sondern eine "einfache" Variable und dann scheitert meine Schleife.

    Deswegen meine Frage:
    Kann ich PHP irgendwie dazu "zwingen" mir ein Array mit nur einem Wert zu erstellen. Also die Variable quasi als Array zu behandeln?

    Oder muss ich den Fall "nur ein Wert vorhanden" als Sonderfall behandeln?

    Meine quick-and-dirty-Variante wäre einfach dem Array grundsätzlich als erstes noch einen "Sinnloswert" zu übergeben um grundsätzlich ein Array zu erhalten
    und die anschließende Schleife einfach bei 1 anstatt 0 starten zu lassen.

    Aber dich denke mal, es gibt schönere Lösungen oder?

  • #2
    Zitat von Supermicha Beitrag anzeigen
    Nun macht PHP daraus dann natürlich kein Array sondern eine "einfache" Variable und dann scheitert meine Schleife.
    Nein, macht PHP nicht, dein Code ist falsch.

    Kommentar


    • #3
      In dem Fall, wo das Array nur einen Wert bekommt wäre meine Code so:
      PHP-Code:
      $array = array($variable
      als var_dump kriege ich aber Typ string

      Kommentar


      • #4
        Zeige deinen Code dazu, sonst ist das alles nur Spekulation.

        Kommentar


        • #5
          Du musst uns schon auch deinen Code zeigen, sonst kann man die hier nicht helfen.

          PHP-Code:
          $variable "foo";
          $array = array($variable);

          var_dump($array);
          /*
          array(1) {
            [0]=>
            string(3) "foo"
          }
          */ 
          The string "()()" is not palindrom but the String "())(" is.

          Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
          PHP.de Wissenssammlung | Kein Support per PN

          Kommentar


          • #6
            also mein Array umfasst im Normalfall 0,1 oder 2 Werte

            Bei 2 Werten wird das so erzeugt:
            PHP-Code:
            $array = array($variable$varaible2
            und der var_dump($array) liefert
            PHP-Code:
            array(2) { [0]=> string(5"09:30" [1]=> string(5"06:30" 
            für den Fall, das nur eine Variable vorhanden ist:
            PHP-Code:
            $array = array($variable
            und var_dump liefert dann:
            PHP-Code:
            string(5"09:30" 

            Kommentar


            • #7
              Nein, hausl hat es vorgemacht dass es nicht so ist.

              Kommentar


              • #8
                Zitat von Supermicha Beitrag anzeigen

                für den Fall, das nur eine Variable vorhanden ist:
                PHP-Code:
                $array = array($variable
                und var_dump liefert dann:
                PHP-Code:
                string(5"09:30" 
                Bei mir liefert der var_dump($array) dann was anderes. array(1) { [0]=> ...

                Kommentar


                • #9
                  protestix Es ist aber so, sonst hätte ich ja mein Problem nicht. Kann es mit dem Datentyp zusammenhängen? Meine Werte sind Uhrzeiten im Format "00:00"

                  Kommentar


                  • #10
                    Zeige mal reproduzierbaren Code so wie es hausl #5 gezeigt hat. Betrifft das ein Parameter welcher wahlweise eine skalare Variable oder ein Array sein kann?

                    Kommentar


                    • #11
                      Zitat von Supermicha Beitrag anzeigen
                      Es ist aber so
                      Dann beweise es mit einem Code, der nachprüfbar auch bei allen anderen und nicht nur bei dir dieses Verhalten zeigt. Ansonsten kann man dir nicht helfen.

                      Kommentar


                      • #12
                        Sorry!!!

                        Falscher Alarm.

                        habe den Fehler an einer anderen Stelle gefunden.

                        Kommentar


                        • #13
                          Hatte voher im Code noch ne Verzweigung drin, die ermittelt ob beide Werte sehr nahe beieinander liegen und fall ja nur den kleinere Wert nimmt.
                          dort hatte ich fälschlicherweise
                          PHP-Code:
                          $array min($var1$var2
                          anstatt
                          PHP-Code:
                          $array = array(min($var1$var2)) 
                          hatte ich total übersehen, jetzt klappt es auch wie gewünscht

                          var_dump($array)
                          PHP-Code:
                          array(1) { [0]=> string(5"09:30" 
                          manchmal sieht man den Walb vor lauter Bäumen nicht.

                          Kommentar

                          Lädt...
                          X