Het wil mij maar niet lukken om het volgende gedaan te krijgen.

Ik heb twee arrays $xdata en $ydata. Deze moeten als volgd worden weer gegeven
$datastring = "xdatarow1|ydatarow1|xdatarow2|ydatarow2 etc"

Heeft iemand een idee? De arrays zien er als volgd uit:
Array
(
[1] => 2010-08-12,2010-07-08,2010-06-17
[2] => 2010-08-12,2010-07-08,2010-06-17
[3] => 2010-08-12,2010-07-08,2010-06-17
[4] => 2010-08-12,2010-07-08,2010-06-17
[5] => 2010-08-12,2010-07-08,2010-06-17
[6] => 2010-08-12,2010-07-08,2010-06-17
[7] => 2010-08-12,2010-07-08,2010-06-17
[8] => 2010-08-12,2010-07-08,2010-06-17
[9] => 2010-08-12,2010-07-08,2010-06-17
[10] => 2010-08-12,2010-07-08,2010-06-17
[11] => 2010-08-12,2010-07-08,2010-06-17
)
Array
(
[1] => 12.4,12.7,12.9
[2] => 17.2,19.1,20.5
[3] => 9.2,9.6,8.2
[4] => 20.4,20.5,22.1
[5] => 20.5,17.9,16.8
[6] => 6.7,5.9,6
[7] => 3.3,3.3,3.1
[8] => 6.5,7.2,7
[9] => 1.9,1.7,1.5
[10] => 1.3,1.5,1.5
[11] => 0.6,0.6,0.4
)

Alvast bedankt!
<?php
$arrayX = array();
$arrayY = array();
$dataString = "";
for ($i = 0; $i < count($arrayX); $i++)
{
if ($i > 0) {
$dataString .= "|";
}
$dataString .= $arrayX[$i] ."|". $arrayY[$i];
}
?>

Zoiets zal moeten werken,
Ik ga er nu wel vanuit dat de array's alle 2 altijd even lang zijn, dus daar moet je nog op controlleren enzo.
<?php
for($i = 0; $i < count($xdatarow); $i ++){
$array = $xdatarow[$i] . "|" . $ydatarow[$i] . "|";
}
?>
daarna met substr de allerlaatste | weghalen
kan je dit niet doen met een combo van [php]array_merge[/php] en [php]implode[/php] ?

Edit: of doen wat hierboven staat inderdaad, maar ik denk altijd in bestaande oplossingen ;-)
Op basis van een left join achtige combinatie zonder enige vorm van controle

foreach($a1 AS $k=>$v){

$aNEW[$k]=$v.'|'.$a2[$k];

}

print_r($aNEW);
Dan zou ik toch eerder een associative foreach doen:

<?PHP
foreach($arrayx as $key=>&$v){
    $v.="|".$arrayy[$key];
}
$arrayx=implode("|",$arrayx);
?>


Dat zou het goede resultaat geven.

Array_merge levert volgens mij niet het goede resultaat op.

Reageren