我的代码如下:
// seatToCancel = U23,L43,U12
$tin='S4243534'; //Booking id
$seatsToCancel=$_GET['seatsToCancel'];
$seatArray=explode(",",$seatsToCancel);
$seatCount=count($seatArray);
$SeatsTocancel=implode ( '", "', $seatArray );
$params = array(
"tin"=>"$tin",
"seatsToCancel"=>array($SeatsTocancel)
);
echo $params=json_encode($params);
我想要这样的输出:
{"tin":"S4243534" ,"seatsToCancel":["U23","L43","U12"]}
所以我猜你要取消的座位是以URL中的逗号分隔列表形式出现的。所以你需要做的是explode()
GET
参数把它变成一个数组,把它作为值放到key
和json_encode()
它。
即
$seatsToCancel = explode(',', $_GET['seatsToCancel']);
$params = [
'tin' => $tin,
'seatsToCancel' => $seatsToCancel,
];
$paramsJson = json_encode($params);
这应该会得到你想要的结果:
{"tin":"S4243534" ,"seatsToCancel":["U23","L43","U12"]}
您可能想要考虑如果GET
参数为空以及是否要进行任何其他错误检查会发生什么。
我假设你的$seatArray
是["U23","L43","U12"]
?
在这种情况下,您可以这样做:
$seatArray = ["U23","L43","U12"];
$finalarray = ["tin"=>$tin,"seatsToCancel" => $seatArray];
echo json_encode($finalarray); //{"tin":"S4243534","seatsToCancel":["U23","L43","U12"]}
编辑以添加编辑问题的新要求