PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   Anfängerproblem (http://www.selfphp.de/forum/showthread.php?t=23417)

iamgodx 08.07.2010 15:09:41

Anfängerproblem
 
Tag auch,

Ich habe ein kleines Problem.
Mit folgendem Code hole ich mir Daten aus einem Webservice:
PHP-Code:

$dienst = new SOAPClient('xxx');
$ergebnis $dienst->Methode1();
$results $ergebnis->Methode1Result

mit $results->Objekt[$i]->Variable sollte ich nun in der Lage sein eine Variable aus besagtem Objekt zu ziehen. Das funktioniert auch solange wunderbar, bis ich versuche das ganze in eine selbstgeschriebene function zu packen.

Ich gebe nun also mit
PHP-Code:

<? echo '
        <td>
          ' . $results->Objekt[$i]->Variable . '
        </td>';?>

besagtes Objekt innerhalb einer Tabelle aus.
Wenn ich nun versuche das ganze in einer Funktion zu verpacken:
PHP-Code:

function tdFormatiertAusgeben($i) {
  echo 
'
      <td>
        ' 
$results->Objekt[$i]->Variable '
      </td>'
;
}
tdFormatiertAusgeben(0); 

funktioniert's einfach nicht. Die Tabelle wird weiterhin erstellt aber nicht mit Inhalt befüllt. Kann mir da eventuell irgendwer helfen?

iamgodx 08.07.2010 15:53:19

AW: Anfängerproblem
 
Nachdem ich nun etwa 5 - 6 Stunden an dem Problem hänge habe ich nun ENDLICH die Lösung gefunden.

Es lag daran, dass ich $results nicht explizit mit dem global operator als globale Variable deklariert habe.

Für bestimmt Situationen bestimmt eine tolle Sache die PHP da bietet aber für neu/quereinsteiger eine verdammt fiese Hürde -.-'

Indyk 09.07.2010 10:17:58

AW: Anfängerproblem
 
Hallo iamgodx,

bitte benutze in zukunft die dir vom Forum zu verfügugn gestellt PHP Tags um PHP code besser lesbar zu machen. Damit erhöhst du auch die wahrscheinlcihkeit das dir jemand helfen möchte.

Freut mich zu lesen das es dir eigenständig gelungen ist dein Problem zu lösen, das sind immer die besten Forenuser (- ;

Die sichtbarkeit von Variablen gehört aber zu den Grundlagen und sollte eigt. schon verinnerlicht sein bevor du dein erstes Script schreibst, sonst sitzt man da 5-6 stunden und sucht nach dem Fehler *g*

viel erfolg weiterhin

ladmotl 09.07.2010 11:08:01

AW: Anfängerproblem
 
Ohne die Deklaration der Variable $results als global könntes Du doch diese Varibale ebenfalls an die Funktion als Argument übergeben oder ? Solange man GLOBAL-Deklarationen vermeiden kann, soll man es vermeiden! Mit geschweiften Klammern geht es (je nach PHP-Version) auch.

function tdFormatiertAusgeben($results, $i) {
echo '<td>{$results->Objekt[$i]->Variable}</td>';
}
tdFormatiertAusgeben($results, 0);


Noch besser (Übersichtlicher ?) wäre, wenn Du die Variable selber an die Funktion übergibts:

function tdFormatiertAusgeben($TdValue) {
echo '<td>$TdValue</td>';
}
tdFormatiertAusgeben($results->Objekt[$i]->Variable);


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:17:10 Uhr.

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