【问题标题】:PHP conditional arrayPHP条件数组
【发布时间】:2014-05-23 08:30:22
【问题描述】:

我对 php 中的条件数组有疑问。 这是我的代码;

foreach($orders as $order) {
    array_push($list, array($order['status'],$order['paid'],$order['name'],$order['email']));
}

现在我得到$order['status'] 的值是部分的,$order['paid'] 的值是yes。但我需要的是,如果$order['status'] 是部分手段,$order['paid'] 是空的。

我想在 foreach 循环之前放置条件。我不知道什么是最好的方法。

谁能帮帮我?谢谢。

【问题讨论】:

  • 先把它放在一个变量里面,然后再用一个三元。示例:$paid = ($order['status'] == 'partial mean') ? null : $order['paid'];,然后在array_push() 中分配$paid
  • 你能解释一下你在问什么吗?我没看懂
  • 'partial'、'yes'、'partial mean' 和 'empty' 应该是字符串吗?

标签: php arrays if-statement


【解决方案1】:

您可以使用ternary operator 或简单的 if 语句。

三元运算符:

foreach($orders as $order) {
    array_push($list, array($order['status'], (($order['status']=='partial') ? $order['paid'] : null), $order['name'], $order['email']));
}

如果语句:

foreach($orders as $order) {
    if ($order['status']=='partial') {
        array_push($list, array($order['status'],$order['paid'],$order['name'],$order['email']));
    } else {
        array_push($list, array($order['status'],null,$order['name'],$order['email']));
    }
}

【讨论】:

  • 非常感谢,我有一个疑问,现在我使用三元运算符,如果不是部分方法,我得到 $ordre['paid'] 的值。你能帮帮我吗?。
  • 验证条件: $order['status']=='partial' ,对吗? “部分手段”是字面意思吗?如果是这样,将其更改为 $order['status']=='partial mean'
  • 不是这样的,意思只是一个词。我想要,如果 $order['status']='partial',$order['paid']='null'。我想在这段代码中需要其他条件。你得到我的问题了吗?谢谢。
  • 而不是将 (($order['status']=='partial') ? $order['paid'] : null) 替换为 (($order['status']=='partial ') ? null : $order['paid']) 请务必熟悉三元运算符的描述及其含义,此处描述:php.net/manual/en/…
猜你喜欢
  • 1970-01-01
  • 2021-02-12
  • 2018-01-05
  • 1970-01-01
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 2015-03-29
相关资源
最近更新 更多