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?
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) >0 ){
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($a, array_keys($subs));
$b = array_merge($b, array_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;
}
Kommentar