【问题标题】:Php if condition inside foreachphp if foreach 中的条件
【发布时间】:2015-05-18 06:53:06
【问题描述】:

我有以下数组。

Array
(
    [0] => Array
        (
            [0] => Cash
            [1] => 91.16
        )
    [1] => Array
        (
            [0] =>Credit
            [1] => 61.48
        )
)

我想做这样的事情。

foreach ($value as $values) {
// Where $values is the above array . I want to traverse array dynamically and put if condition .
if($values[0][0] != "Cash")
echo "Cash";
}

上面的代码不起作用。请帮我解决这个问题。如何在 foreach 循环中动态放置 if 条件。

【问题讨论】:

  • 去掉最后一个[0]:$values[0]
  • 只需简单地使用 if($values[0] != "Cash") 就没有多维数组了
  • 当您遇到此类问题时,您应该使用 var_dump 之类的东西来调试您的代码...
  • 简单搜索一下 foreach 的工作原理..
  • 我不想只检查现金,想检查所有现金,信用。这样第一个 [0] 索引将动态迭代。

标签: php if-statement


【解决方案1】:

这是你的意思吗?

foreach ($values as $value) {
  if (!in_array($value[0], array('Cash', 'Credit'))) {
    echo 'Neither cash nor credit';
  }
}

【讨论】:

    【解决方案2】:

    这样试试

        foreach ($array as $values) {
              if($values[0] != "cash" && $values[0] == "credit"){
               echo "It is a credit ";
              }
       else if($values[1] != "credit" && $values[0] == "cash"){
          echo "it is a cash"."<br>";
          }
    

    【讨论】:

    • 我试过这个,但它打印了一次现金,它不应该。
    • 那么你想要什么?你想打印?
    • 如果 Cash , Credit 存在数组中,那么它不应该根据 if 条件打印 Cash 或 Credit。
    • 不。不想在那个箱子上打印。
    • @user2656780 它打印一次现金,因为现金在数组中只出现一次。你想检查数组中是否存在现金或信用?你真正需要的是什么???
    猜你喜欢
    • 2012-10-31
    • 1970-01-01
    • 2021-11-10
    • 2022-01-08
    • 2012-02-05
    • 2017-09-27
    • 1970-01-01
    • 1970-01-01
    • 2020-12-02
    相关资源
    最近更新 更多