[PHP5] erkennen ob Array mehrere Dimensionen hat?

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

  • [PHP5] erkennen ob Array mehrere Dimensionen hat?

    Hallo,

    gibt es irgendwie eine Möglichkeit per Funktion oder so herrauszubekommen ob das übergebene Array mehrere Dimensionen hat?

    Gruß StefanR

  • #2
    PHP-Code:
    function isNDimensional($array) {
        foreach (
    $array as $val) {
            if (
    is_array($val)) {
                return 
    true;
            }
        }
        
        return 
    false;
    }




    $array_1 = array(
        
    'foo',
        
    'bar',
        
    'blah?',
    );

    $array_2 = array(
        
    'foo',
        array(
    'blub'),
        
    'blah?',
    );

    var_dump(isNDimensional($array_1));
    var_dump(isNDimensional($array_2)); 
    [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
    [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
    [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

    © Harald Schmidt

    Kommentar


    • #3
      Hallo, danke erstmal für deine Antwort aber das bringt mich in meinem Fall nicht weiter, da ich durch eine while Schelife erstelltes Array habe wo denn wiederrum die Datensätze aus der Datenbank drin sind. Also so:
      PHP-Code:
      $array[]['stid'
      so und wenn ich das so mache wie bei dir kann ich im Endeffekt ja nicht mehr auf die Tabellenspalten namentlich zu greifen. Ich möchte nämliche bestimmte Spalteninhalte umformatieren zum Beispiel das Datum oder fiesen Code ausperren.

      PHP-Code:
      function getAll($stid=-1)
              {
                  if (
      $stid===-1)
                  {
                      
      $sql="SELECT a.stid,a.uid,a.kid,a.lastupdate,a.created,
       a.html,a.smileys,a.urls,a.titel, a.hometext, a.bodytext, b.name FROM
       artikel AS a , user AS b WHERE a.uid=b.uid LIMIT 50"
      ;
                      
      $result=$this->db->query($sql);
                  
                      while (
      $row=$this->db->fetchAssoc($result))
                      {
                          
      $artikel[]=$row;    
                      }
                  }
                  
                  
      //Daten formatieren
                  
      $artikel=$this->prepare($artikel);
                  
                  return 
      $artikel;
              }
              
              function 
      prepare($array)
              {
                  
      //durchläuft das Array welches übergeben wurde 
                  //und formatiert relevante Daten
                  
      for ($i=0$i<count($array);$i++)
                  {
                      
      $array[$i]['created']=date('d.m.Y H:i:s',$array[$i]['created']);                
                  }
                  return 
      $array;    
              } 
      Gruß

      Kommentar


      • #4
        warum machst dud as nicht in der while-schleife zum auslesen aus der datenbank?
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Weil ich denn jeden Datensatz übergeben muss also an $artikel[] und ich mir so nen bisschen Schreibarbeit ersparen wollte, da die Tabelle sehr groß ist.

          Kommentar


          • #6
            $artikel[] = prepare($row); in der schleife


            die funktion prepare sollte dann ja einfach anzupassen sein
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              Achso ja stimmt das auch ne Möglichkeit.

              Danke

              Kommentar

              Lädt...
              X