我需要得到这样的数组输出 [[1, 26], [3, 16], [3, 17], [4, 27], [4, 26]]
来自以下 php mysql 代码
include("db.php");
$villa = $_GET['villa'];
$sql = mysql_query("SELECT unavailable_date_from, unavailable_date_to FROM villa WHERE name = '".$villa."'");
$json = "[";
while($results = mysql_fetch_object($sql)){
foreach ($results as $field => $value) {
$a = explode("-", $value);
$json = $json . '[' . $a[1] .','. $a[2] .'],';
}
$json = substr($json, 0, strlen($json)-1);
}
$json = $json . ']';
echo $json;
当前代码给出以下结果:[[03,08],[03,10][03,15],[03,20]]
谁能告诉我如何在第二个和第三个数组元素之间添加一个逗号
谢谢
最佳答案
将 $json = substr($json, 0, strlen($json)-1);
移动到 $json = $json 之前的行中。 ']';
.
它看起来像:
if ($json != '[') $json = substr($json, 0, strlen($json)-1);
$json = $json . ']';
有点乱,但它会起作用。编辑:使用 rtrim
会更好:
$json = rtrim($json, ',');
$json = $json . ']';
完整代码如下:
$json = '';
while($results = mysql_fetch_object($sql)) {
foreach ($results as $field => $value) {
$a = explode("-", $value);
$json .= '[' . $a[1] .','. $a[2] .'],';
}
}
$json = '[' . rtrim($json,','). ']';
关于php - 需要以下代码的格式化输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5455795/