我展示了一个页面的"Review Your Order:"部分,其中成功回调了json_encode数组。我可能在技术上说的完全错误,但希望你能看到我在努力做什么
PHP处理页面的一部分。。。
$results = array(
'roomname' => $_POST['roomX'],
'qty' => $_POST['qtyX'],
我希望结果作为…返回
房间名称:无论归还什么。(注意标签"房间名称:")
但我只想让标签显示POST是否分配了值。
我认为它应该是什么样子的例子,但它不起作用。。
$results = array(
'roomname' => if (!$_POST['roomX']=='' { echo 'Room Name: ' .$_POST['roomX'];},
这有道理吗?每个订单有几十个选项,我不想在一堆空值前面加上"Label:"。
编辑:添加了下面答案中的代码
// beginning of array
$results = array(
'roomname' => $_POST['roomX'],
'qty' => $_POST['qtyX'],
// more code...
// end of array.. remember not to have a comma on this last one.
);
// pasted answer between the array ending and the json_encode line.
if ($_POST['roomX'] != ''){
$results['roomname'] = "Room Name: ".$_POST['roomX'];
}
$json = json_encode($results);
echo $json;
这里有一种方法,您可以使用三元操作
$results = array(
'roomname' => $_POST['roomX']==''? 'Room Name: '.$_POST['roomX']: '',
);
如果值为空,这将添加一个空白字符串
另一种方法是稍后添加值;
$results = array(...);
if ($_POST['roomX'] != ''){
$results['roomname'] = $_POST['roomX']
}
$results = array();
if (isset($_POST['roomX'])) {
$results[] = array(...);
}
如果没有post值,那么只会得到一个空数组。
您可以在将任何数据分配给roomname之前进行if语句,如
$result = array(
'roomname' => ($_POST['roomX'] !== '')? 'Room name: '.$_POST['roomX']:''
);
我在这里使用的是一个短if语句,其工作原理如下:(if语句)?真:假;
我希望这对你有帮助。