Ich habe ein Problem, wenn ich das Ergebnis-Array von PHP nach Javascript in Form eines Datums zurückgeben werde, dann ist die Show nicht so, wie ich es will.

PHP:

<?
$dates = new DateTime('2013-04-06');
$dates1=$dates->format('dm');
$arrtanggal[] = $dates1;
?>

JavaScript:

<script> 
alert(<? echo join($arrtanggal,","); ?>);
</script>

Das Ergebnis ist "388". wenn ich das Format des Datums ändere auf:

$dates1 = $dates->format('d/m');

Dann ist das Ergebnis "1,5". Ich möchte in "06/04" oder "06-04" formatieren.

Wie kann ich das machen?

1
Joe Sastro 30 Nov. 2013 im 20:06

4 Antworten

Beste Antwort

Verwenden Sie einfache oder doppelte Anführungszeichen wie folgt:

<script> 
alert('<? echo join($arrtanggal,","); ?>');
</script>
0
Prashant Borde 30 Nov. 2013 im 16:13

Fügte der Warnung einfache Anführungszeichen hinzu und änderte das Datumsformat in d / m. Jetzt funktioniert es

<?php
    $dates = new DateTime('2013-04-06');
    $dates1=$dates->format('d/m');
    $arrtanggal[] = $dates1;    
print_r($arrtanggal);
?>


<script> 
alert('<?php echo join($arrtanggal,","); ?>');
</script>
0
Samjizz 30 Nov. 2013 im 16:16

Ja, das / im Datumsformat bewirkt, dass der js-Parser 6 durch 4 teilt. Sie müssen Anführungszeichen um das setzen, was Sie an die Warnfunktion übergeben, damit es als Zeichenfolge übergeben wird.

0
Groovepig 30 Nov. 2013 im 16:29

Sollte es nicht sein:

<script> 
alert('<? echo join(",", $arrtanggal); ?>');
</script>

Die Parameter für die Verknüpfung sind:

join( string $glue , array $pieces )

0
Wayne Whitty 30 Nov. 2013 im 16:14