phpbar.de logo

Mailinglisten-Archive

[php] String bauen

[php] String bauen

Mathias Gloss mgloss at amadeus.net
Don Feb 19 13:35:12 CET 2004


Aloha,



> From: "Steffen Kother" <steffen.kother at gmx.net>@phpbar.de  on 19.02.2004 
13:05


> Aus SAP ziehe ich aus 4 Feldern die Daten, mit den SAPRFC-Funktionen
> ergibt sich dann so was:

Die saprfc-Schnittstelle von PHP ist geil, und tut auch perfekt,
aber man sollte sich echt ne Rahmenklasse drumschreiben, sonst
bekommt man die Kriese :-)


> $rfc_table_output = array("data" => array(array("1234567890",
>                                                 "Müller & Co. KG",
>                                                 "Paul, Peter",
>                                                 ""),
>                                           array("1234567891",
>                                                 "Müller & Co. KG",
>                                                 "Paul Meier",
>                                                 ""),
>                                           usw.),
>                           "fields" => array(1 => array("dies und das"),
>                                             2 => array("jenes und"),
>                                             3 => array("mehr "),
>                                             4 => array("usw.")))
> 

> Aus dem Array $rfc_table_output["data"] möchte ich nun für jedes
> Unterarray einen kommagetrennten Satz haben. Dass heißt, hier wäre am
> Ende zu erwarten:

> "X-mal":
> $neu = "'1234567890', 'Müller & Co. KG', 'Paul Meier', ''";

Das ist doch eigentlich kein Problem, man darf sich nur nicht ver-
wirren lassen. $rfc_table_output ist kein String oder Array, sondern
ein Array von Arrays ... oder in Perl ListOfList genannt.

Also legen wir mal los:

$rfc_table_output kürz ich jetzt mit $r ab, sonst muss ich zu viel
tippen :)

$r  ist ein lol, und enthält ein Hash. Der Hash hat 2 Schlüssel (data, 
fields)
    die als Wert ein Array haben.

$r['data'] ist ein Array, das mehrere Arrays mit den gesuchten Daten 
enthält.
$r['data'][0] ist das erste Array mit Firmendaten,
$r['data'][1] ist das zweite Array mit Firmendaten,
$r['data'][$x] ist das $x-te Array mit Firmendaten.

Also machen wir jetzt erst mal eine Schleife über die Firmendatenarrays:

for ($i=0; $i < sizeof($r['data']); $i++) {
  # $r['data'][$i] enthält jetzt das Array mit den Firmendaten.
  # jetzt ENTWEDER:
  echo "'".$r['data'][$i][0]."', '".$r['data'][$i][1]."', '".$r['data'][$i][2]
      ."', '".$r['data'][$i][3]."'";
  # ODER (eleganter ;-)
  echo "'". implode("', '", $r['data'][$i])."'";
}

Grüße, Mathias
PS: Wenn ihr PHP unter Windows laufen habt, kannst du dich auch per single 
sign on mit dem SAP-Server
verbinden, dann brauchst du kein Passwort für die R3-Verbindung.
 



php::bar PHP Wiki   -   Listenarchive