JSON配列をラップしているブラケットをフォーマットする方法を試しています。このコードを使用して、データベースから配列のデータを引き出しています。
$result = mysqli_query($con,"SELECT * FROM table");
$column = array();
while ($row = mysqli_fetch_array($result))
{
$column[] = array(array($row[0],$row[1],$row[2],$row[3],$row[4],$row[5]),$row[3],$row[2],$row[0]);
}
JSON に変換されると、配列はこの形式で画面に出力されます。最初の角かっこは残す必要がありますが、2 番目の角かっこを (\') に交換する必要があります。
var myVar = [
[["22","mike"," 151.1272","-33.9324","learning to fish","08\/14\/13"],"-33.93024"," 151.12896172","22"],
[["23","mike"," -2.09875","51.44501","learning french","08\/04\/13"],"51.44501"," -2.09775","23"],
[["24","mike"," -2.16375","51.44823019014051","Programming","08\/05\/13"],"51.451"," -2.1675","24"],
];
したがって、配列は次のようになります。
var myVar = [
['"22","mike"," 151.12","-33.934","learning to fish","08\/14\/13"',"-33.94"," 151.12","22"],
['"23","mike"," -2.095","51.41","learning french","08\/04\/13"',"51.41"," -2.095","23"],
['"24","mike"," -2.165","51.41","Programming","08\/05\/13"',"51.44851"," -2.1675","24"],
];
この形式の配列が必要な理由は、配列に 4 つの列があることを期待する Google マップ関数にデータを渡すことができるようにするためです。
このような関数でブラケットを削除できることがわかりましたが、問題はすべてのブラケットを削除し、外部ブラケットが必要なことです。
$js_array = str_replace(array('[', ']'), '\'', htmlspecialchars(json_encode($column), ENT_NOQUOTES));
外側のブラケットを保持し、内側のブラケットを単に取り外すにはどうすればよいですか? 十分な情報を提供していない場合、または詳細を追加する必要がある場合はお知らせください。
ありがとう