Forum: PC-Programmierung PHP: join geht nicht


von Pete K. (pete77)


Lesenswert?

Hallo,
ich versuche mit highcharts ein Diagramm anzuzeigen. Die Werte sind in 
den Array-Variablen $data0 und $data1 gespeichert.
Ich möchte nun die X-Achse mit der Variablen $data0 belegen und die 
zugehörigen Werte aus $data1 in der Y-Achse anzeigen.

Hierzu wird ein doppeltes Array benötigt, also in der Form:
[[12:12:12, 15.9],[12:12:13, 15.8]]

Leider klappt das nicht: data:[ <?php echo join('[',$data0, ',', $data1, 
'],') ?>],
}]

Scheinbar akzeptiert join nur 2 Argumente. Hat jemand eine Ahnung, wie 
man den data-String für highchart zusammenbasteln kann?

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Wie wäre es mal mit Doku lesen?
join ist ein Alias von implode:
http://www.php.net/manual/de/function.implode.php

Und da gibt es doch sogar Beispiele wie der Output ist und wie sich die 
Parameter auswirken.

von Pete K. (pete77)


Lesenswert?

Ja, aber auch dieses Beispiel kann nur ein Array auflösen.

auch ein join(join($data0,","),$data1) funktioniert nicht. Man kann join 
wohl nicht schachteln.

: Bearbeitet durch User
von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Pete K. schrieb:
> Man kann join wohl nicht schachteln

Meine Güte... Was willst du den da schachteln? Schau dir doch bitte mal 
die Parametertypen und Rückgabewerte an! Es gibt nicht für alles und 
jedes eine Funktion, manchmal muss man da auch selber arbeiten... Mal es 
dir halt auf Papier auf wenn du es dir nicht vorstellen kannst...

1) Array 1 "joinen"
2) Array 2 "joinen"
3) Ergebnisse mit passender zahl Eckiger Klammern umschließen.

Alternativ halt gleich die JSON Funktionen nutzen...

: Bearbeitet durch User
von Daniel F. (df311)


Lesenswert?

Pete K. schrieb:
> Ich möchte nun die X-Achse mit der Variablen $data0 belegen und die
> zugehörigen Werte aus $data1 in der Y-Achse anzeigen.
>
> Hierzu wird ein doppeltes Array benötigt, also in der Form:
> [[12:12:12, 15.9],[12:12:13, 15.8]]

also sowas?
1
$data = array(
2
  array($data0[0], $data1[0]),
3
  ...
4
);

mir ist jetzt keine (fertige) funktion bekannt, die dir sowas generiert. 
aber wie läubi schon gesagt hat - manchmal muss man selber hand anlegen. 
und das gewünschte ergebnis zu generieren ist ein dreizeiler...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.