phpbar.de logo

Mailinglisten-Archive

[php] Probleme mit Arrays ... Hilfe!

[php] Probleme mit Arrays ... Hilfe!

Berkant boezdemi_(at)_stud.uni-frankfurt.de
Tue, 21 Mar 2000 01:26:25 +0100


Hallo nochmal!
Das Problem an der Sache ist aber, das meine Funktion nur einmal aufgerufen
wird und der Wert der Variable INNERHALB der Funktion ueberschrieben wird.
Die 'return' Anweisung uebergibt nur einen Wert, naemlich den letzten (der
auch noch tollerweise null ist!).
Ausserdem: Wenn ich '$test[] = meineFunktion(); echo $test;' schreibe,
bekomme ich nur die Meldung Array. '$test[0]' (usw.) erhalten auch keine
Werte ! ?
Hier sind meine (abgespeckten) Scripte zum selberprobieren:

1.Das Php-Script:
<?$file="http://localhost/test.xml";
function startElement($parser, $name, $attribs)
{
//print $name; //ergibt alle StartTags des XML-Dokuments (in diesem Beispiel
wird $name mehrmals gedndert)
$test = array($name);
//print $test[0]; //ergibt alle StartTags, die anderen Indizes sind leer ...
return $test;
}
function endElement ($parser, $name2)
{}
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser,"startElement","endElement");
$fp =fopen($file, "r");
 while ($data = fread($fp, 4096))
{
 xml_parse($xml_parser,$data);
 $test2 =startElement($parser, $name, $attribs);
 print $test2; //ergibt nur 'array', $test[0] ergibt gar nichts, wieso?
}
xml_parser_free($xml_parser);?>

2.Das XML Dokument (als test.xml speichern!):
<?xml version="1.0" encoding='ISO-8859-1'?>
<kunden>
   <kunde>
      <kdnr>0001</kdnr>
   </kunde>
   <kunde>
      <kdnr>0002</kdnr>
   </kunde>
   <kunde>
      <kdnr>0003</kdnr>
   </kunde>
</kunden>




php::bar PHP Wiki   -   Listenarchive