SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 21.06.2010, 21:59:55
MonsterreactioN MonsterreactioN ist offline
Anfänger
 
Registriert seit: Jun 2010
Alter: 34
Beiträge: 4
array return falsche ausgabe

Hallo zusammen

Ich habe ein Problem mit der Rückgabe eines Arrays.
In diesem Array befinden sich Werte die ich aus einem XML-File ausgelesen habe. Das sieht dann folgendermassen aus:

Code:
		$xml = simplexml_load_file('bkPcDksXml.xml');
		foreach ($xml->drink as $value) {
		if ($value->state=="online")
			{
				$Drinks[$inc] = $value->size;
				$inc++;
				$Drinks[$inc] = $value->vol;
				$inc++;
				$Drinks[$inc] = $value->content;
				$inc++;
				$Drinks[$inc] = $value->path;
				$inc++;
				$Drinks[$inc] = $value->state;
				$inc++;
			}
		}
	return $Drinks;
	}
Das alles ist in eine Funktion gepackt. DIe Funktion befindet sich in einem seperaten phpfile.
Wenn ich die Datei nunn ausgebe, erhalte ich nur die ausgabe "Array". Kopiere ich das gleiche aber in das FIle in dem es ausgegeben werden soll und genau gleich jedes Element aus "$Drinks" ausgeben möchte, ist die Ausgabe korrekt. An was liegt das?
Mit Zitat antworten
  #2  
Alt 22.06.2010, 08:38:55
knight1 knight1 ist offline
Junior Member
 
Registriert seit: May 2003
Ort: Trier
Alter: 47
Beiträge: 310
knight1 eine Nachricht über MSN schicken knight1 eine Nachricht über Skype™ schicken
AW: array return falsche ausgabe

Hallo MonsterreactioN,
ich vermute mal dass Du die Funktion mit
PHP-Code:
$Drinks funktionsname(); 
aufrufst und die Ausgabe dann mit
PHP-Code:
echo $Drinks
machst.

Bei dieser Variante ist es kein Wunder dass Du dann als Ausgabe Array erhälst.
Du lässt Dir von der Funktion ja auch ein Array zurückliefern.

Was Dir zurückgeliefert wird, kannst Du dir mit
PHP-Code:
echo var_dump($Drinks); 
oder
PHP-Code:
echo var_export($Drinks); 
Anzeigen lassen.


Kai aka Knight1
__________________
Please visit: http://www.kaikordel.de
Mit Zitat antworten
  #3  
Alt 22.06.2010, 13:03:42
MonsterreactioN MonsterreactioN ist offline
Anfänger
 
Registriert seit: Jun 2010
Alter: 34
Beiträge: 4
AW: array return falsche ausgabe

Erst einmal vielen Dank, das bringt mich zwar nicht direkt weiter, hilft aber meinem Verständniss, so dass ich selber voran kommen werde.

Sehe ich das richtig, dass wenn ich

Code:
$x[] = getDrinks()
aufrufe, und getDrinks() einen Array zurückliefert, der ganze Array in das erste Element von $x gespeichert wird?
Mit Zitat antworten
  #4  
Alt 22.06.2010, 13:44:51
MonsterreactioN MonsterreactioN ist offline
Anfänger
 
Registriert seit: Jun 2010
Alter: 34
Beiträge: 4
AW: array return falsche ausgabe

Hallo, ich hab eine zufriedenstellende Lösung gefunden.
Wenn ich das so regle:

Code:
    $x[] = array();
    $x = getDrinks();
funktionierts wunderbar.
Danke nochmals. Dank deiner Hilfe gelang es mir das Problem schnell zu lösen.
Mit Zitat antworten
  #5  
Alt 23.06.2010, 11:49:08
Benutzerbild von Indyk
Indyk Indyk ist offline
Member
 
Registriert seit: Aug 2006
Ort: Lübeck
Alter: 37
Beiträge: 900
Indyk eine Nachricht über ICQ schicken
AW: array return falsche ausgabe

Hallo MonsterreactioN,

es freut mich zu sehen das du eine für dich funktionierende Lösung gefunden hast allerdings kann ich dich mit deinem halbwissen nicht gehen lassen (- ;

mit
PHP-Code:
$x[] = array(); 
wird nicht unter allem umständen das erste Element zu einem Array.
[] dient dazu einen Wert am Ende eines Arrays zu speichern, wenn das Array leer ist wird der Wert an den Anfang geschrieben, sollte der Array schon belegt sein wird der neue wert hinter den letzten gespeichert.

PHP-Code:
$x[] = 0;
$x[] = 1
somit würde du einen array mit 2 werten erhalten.

Desweiteren sollte die verwendung von $x[] ein warning produzieren sofern du dir fehler ausgeben lässt da ich stark vermute das die variable bis dahin noch nicht exisitert korrekter wäre:
PHP-Code:
$x = array();
$x[] = 0
Das was für dich funktioniert ist eigt. unsinnig
PHP-Code:
    $x[] = array();
    
$x getDrinks(); 
  • Im ersten Schritt erstellst du einen Array dessen letzte Wert ebenfalls ein Array ist
  • im zweiten Schritt überschreibst du die variable mit dem Rückgabewert deiner Funktion

Eigt. müsste es für dein Skript kein unterschied machen ob du den ersten teilausführst oder nicht da er durch den zweiten Schritt negiert wird.

Ich hoffe ich konnte mit verständlich ausdrücken und konnte dein php-wissen erweitern.
Mit Zitat antworten
  #6  
Alt 23.06.2010, 19:05:53
MonsterreactioN MonsterreactioN ist offline
Anfänger
 
Registriert seit: Jun 2010
Alter: 34
Beiträge: 4
AW: array return falsche ausgabe

Hallo
Erstmal danke das du mich nicht einfach so gehen lässt, ich möchte schliesslich keinen Bastel produzieren. (Sonst müsste ich auch die functions nicht aussondern ...)

Code:
$x[] = array();
Ist wirklich unnötig. Komisch, habe gedacht, hätte ich schon ausporbiert.
Naja, bin mich halt mehr an andere Sprachen gewöhnt, wo man einen Array explizit initialisieren muss.
Beim Umgang mit Variablen wie man ihn bei php antrifft, ist dies aber eigentlich nur logisch (wie im nachhinein alles)
Werd mich wohl noch eine Weile mit variablen in php rumschlagen.
Mit Zitat antworten
Antwort

Stichworte
array, php, xml


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Arrayblind tlang78 PHP Grundlagen 2 30.06.2009 16:08:33
Array formatiert ausgeben Faang PHP Grundlagen 3 15.08.2008 02:47:43
Array umstrukturieren Tikiwiki PHP Grundlagen 2 28.07.2008 14:24:28
Doppelte einträge aus einem Mehrdimensionalen Array aussortieren und löschen PHoenix_KM PHP für Fortgeschrittene und Experten 2 17.04.2008 19:19:53
Einzelne Daten aus Textdatei Auslesen azubinator PHP Grundlagen 153 17.12.2004 14:36:58


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:45:49 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt