PHP数组条件不起作用

时间:2016-05-21 22:59:47

标签: php arrays

仍在学习PHP等...我在以下方面遇到错误:

'payment_status'    => ( 'P' == $order_info['status'] || 'C' == $order_info['status'] || 'O' == $order_info['status'] ) ? 'paid' : 'paid' : 'unpaid',

来自我的数组的一部分,但在该行发出错误...

在阵列中首次尝试这种情况所以很可能会破坏但是如果不知道我的目标是什么......

  

如果order_info status = P来设置付费

     

如果order_info status = C来设置付费

     

如果order_info status = O则设置未支付

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

问题是你有太多: 'paid' s。

将结束更改为:

? 'paid' : 'unpaid'

你也可以让它更具可读性:

$paid_statuses = array('P', 'C'); // O is unpaid
...
'payment_status' => (in_array($order_info['status'], $paid_statuses) ? 'paid' : 'unpaid')`