Fehler in Parse function einer Template Klasse

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

  • Fehler in Parse function einer Template Klasse

    Hi zusammen. ich hab folgendes problem in der Methode die zum parsen der Templates da ist.

    Ich frage in einer Zeile (makiert) ab ob ein array vorliegt was auch immer bestätigt wird. Jedoch eine zeile später in einer if abfrage wird dieses array nicht mehr als solches erkannt. was is das für nen schei** *sorry* Kann mir da wer helfen welchen fehler ich da gemacht habe?

    PHP-Code:
            function parse2()
            {
                
    $tpl $this->tpl_vars;
                if((
    $args func_num_args()) <= 0) {
                     
    $tpl_keys array_keys($tpl); 
                }else{
                     
    $tpl_keys[0] = func_get_arg(0);
                }

                foreach ( 
    $tpl_keys as $key ){
                     if(
    $args>0)pre($this->tpl_vars[$key]);     // hier geb ich den inhalt des arrays aus per print_r()
                     
    if(is_array($this->tpl_vars[$key])){  // Hier jedoch sagt er es ist doch kein array *confused*
                         
    $p_tpl $this->tpl_vars[$key];
                         for( 
    $x=0$x count($p_tpl); $x++){
                            
    $subs $p_tpl[$x]['subjects'];
                            
    $binds $p_tpl[$x]['bindings'];
                            
    $source $p_tpl[0]['source'];

                            if( 
    is_array($binds) && count($binds) >){
                                while(list(
    $bind_key$bind_val) = each$binds )){
                                    
    $a[] = "<!-- DYN_AREA: $bind_val -->";
                                    
    $b[] = $this->parse2($bind_val);
                                    unset(
    $this->tpl_vars[$bind_val]);
                                }
                            }

                            if(
    is_array($subs)){
                                
    $a array_merge($aarray_keys($subs));
                                
    $b array_merge($barray_values($subs));
                                
    $outsrc .= str_replace($a$b$source);
                            }

                        }
                    }else{ echo 
    "Kein durchlauf für $key...<br>"; }
                    
    #unset($this->tpl_vars[$key]);
                    
    if($xyz == 1000) break(1); else $xyz++;  
                }
                
    $this->parsed_output $outsrc;
                return 
    $outsrc;
            } 

  • #2
    if(is_array($this->tpl_vars)){ ...



    OHNE [$key]
    TBT

    Die zwei wichtigsten Regeln für eine berufliche Karriere:
    1. Verrate niemals alles was du weißt!


    PHP 2 AllPatrizier II Browsergame

    Kommentar


    • #3
      Danke für die schnelle antwort, aber das ist so nicht richtig was du sagst. das array mit angabe des schlüssels enthält wiederrum ein array, sprich, mehrdimensional. ok.. konntest du ja auch nicht riechen das es sich dabei um ein solches handelt =)

      Ich hab den fehler aber auch schon gefunden. es handelte sich da um einen fehldenken meinerseits.

      Kommentar

      Lädt...
      X