【ソース】
PHP
1<!DOCTYPE html> 2<html> 3<head> 4 <title>日付選択</title> 5 <meta http-equiv="Content-Type" content="text/html; charset=utf8"> 6</head> 7 8<style type="text/css"> 9h1{ 10 text-align: center; 11 margin-top: 100px; 12} 13</style> 14 15<body> 16<?php 17 18//DBから取り出したDate型の値とする 19$values = array("2016-04-01","2016-04-02","2016-04-03","2016-04-04","2016-04-05"); 20$value = $values[4]; 21 22$tmp_arr = array(); 23for ($t=0; $t < count($values); $t++) { 24 if($values[$t] == $value){ 25 continue; 26 } 27 28 if($values[$t][4] == "-"){ 29 $values[$t][4] = "年"; 30 } 31 if($values[$t][7] == "-"){ 32 $values[$t][7] = "月"; 33 } 34 35 echo $values[$t]."日".nl2br("\n"); 36} 37 38?> 39</body> 40</html>
【問題】
以上の結果のように、�文字になってしまいます。そこの文字をそれぞれ年、月としたいのですが、うまくいきません。
【自己分析】
�文字のところはおそらく日本語なので2バイトを超えているので、日本語がおさまっていないように思えます。実際ローマ字にすれば、うまくいきました。(しかしstrと値を入れたとしてもsだけえ表示される)
【質問】
DBから取り出した年月をうまく表示するため、上記のソースのように「-」文字を判定して、年と月の値をそれぞれ割り当てたつもりですが、うまくいきません。
上記のソースのやり方以外のコーディング方法があれば、教えてください。お願いします。
回答6件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。