0

我有一个 PHP 脚本,它从我的 MySQL 数据库中的表中获取一些数据。然后它使用 JSON javascript 将此信息发送回 PHP 页面。

这一切都很好,但我想在 while 循环中做一个 if 语句。我的“已使用”表发回“1”和“5”而不是回显 1 或 5,我希望它发送“是”或“否”。

这样做的一种方法可能是分解 $data 并将 1 或 5 替换为是或否。但是还有其他方法吗?

Something like: `if (used == '1') { set used == 'No } else {set used == 'Yes' }`

我的代码如下

 while ($row = $result->fetch_assoc()) {
    $data['results'][] = array(
        'id' => $row['id'],
        'number' => $row['number'],
        'type' => $row['type'],
        'code' => $row['code'],
        'price' => $row['price'],
        'used' => $row['used'],
        'utime' => $row['utime'],
        'username' => $row['username']
    );
}
//Everything went to plan so set success to true
$data['success'] = true;

//Set the content type for a json object and ensure charset is UTF-8. NOt utf8 otherwise it will not work in IE (Darn IE! >.<)
header("Content-Type: application/json; charset=UTF-8");

//json encode the data and cast to an object so we can reference items like this.id in the javascript instead of this['id'] etc.
echo json_encode((object)$data);
4

2 回答 2

3

您可以在数组赋值中使用条件运算符:

'used' => $row['used'] == 1 ? 'Yes' : 'No',
于 2013-10-06T00:54:00.537 回答
0

您可以在没有if声明的情况下执行此操作:

$answer = array(0 => 'No', 1 => 'Yes');

...
'used' => $answer[ $row['used'] ],
...
于 2013-10-06T01:20:20.123 回答