Php 如何删除包装JSON数组的一些方括号
我正在尝试如何格式化包装JSON数组的括号。我正在使用以下代码从数据库中提取阵列的数据Php 如何删除包装JSON数组的一些方括号,php,arrays,json,Php,Arrays,Json,我正在尝试如何格式化包装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],
$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后,数组将以这种格式打印到屏幕上。我需要保留第一个方括号,但需要将第二组括号替换为(\')
所以数组应该更像这样
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"],
];
我之所以需要这种格式的数组,是因为我可以将数据传递到GoogleMaps函数中,该函数期望数组有4列
我已经计算出我可以用这样的函数删除括号,但问题是它删除了所有括号,我需要外部括号
$js_array = str_replace(array('[', ']'), '\'', htmlspecialchars(json_encode($column), ENT_NOQUOTES));
我如何保留外部支架并简单地移除内部支架?如果我没有提供足够的信息,或者我应该补充更多的细节,请告诉我
谢谢首先按照您需要的方式制作阵列怎么样?而不是:
$column[] = array(
array(
$row[0],
$row[1],
$row[2],
$row[3],
$row[4],
$row[5]
),
$row[3],
$row[2],
$row[0]
);
这样做:
$column[] = array(
$row[0] . $row[1] . $row[2] . $row[3] . $row[4] . $row[5],
$row[3],
$row[2],
$row[0]
);
首先按照需要的方式制作阵列如何?而不是:
$column[] = array(
array(
$row[0],
$row[1],
$row[2],
$row[3],
$row[4],
$row[5]
),
$row[3],
$row[2],
$row[0]
);
这样做:
$column[] = array(
$row[0] . $row[1] . $row[2] . $row[3] . $row[4] . $row[5],
$row[3],
$row[2],
$row[0]
);
试一试
如果括号末端也是双括号(不在您的示例中)
试一试
如果括号末端也是双括号(不在您的示例中)
没有JSON数组这样的东西,第一个示例中的每一行都包含4列。没有JSON数组这样的东西,第一个示例中的每一行都包含4列。谢谢你的a星,非常整洁
str_replace('"]]','"\']',$string);