我正在显示“查看您的订单:”页面的一部分,其中包含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;
答案 0 :(得分:3)
这是一种方法,您可以使用Ternary operation
$results = array(
'roomname' => $_POST['roomX']==''? 'Room Name: '.$_POST['roomX']: '',
);
如果值为空,这将添加空字符串
另一种方法是稍后添加值;
$results = array(...);
if ($_POST['roomX'] != ''){
$results['roomname'] = $_POST['roomX']
}
答案 1 :(得分:0)
你可以在将任何数据分配到房间名之前制作一个if语句,如此
$result = array(
'roomname' => ($_POST['roomX'] !== '')? 'Room name: '.$_POST['roomX']:''
);
我在这里使用的是if语句的短端并且工作如下:( if语句)? true:false;
我希望这会对你有所帮助。
答案 2 :(得分:0)
$results = array();
if (isset($_POST['roomX'])) {
$results[] = array(...);
}
如果没有帖子值,你最终会得到一个空数组。