【问题标题】:echo when certain value out of array equals your function当数组中的某个值等于您的函数时回显
【发布时间】:2023-03-21 10:30:01
【问题描述】:

我有一个包含这个的数组:

$autos[] = array(
        "auto" => "Audi A6",
        "Max snelheid" => "240 km/h",
        "Verbruik" => "1 op 12");

$autos[] = array(
        "auto" => "Porsche 911",
        "Max snelheid" => "290 km/h",
        "Verbruik" => "1 op 8");

在下面我使用了一个回显这个的 foreach。

 foreach ($autos as $cars => $arr){
    echo '<tr>';
        foreach($arr as $test => $data){
            echo '<td>'.$data.'</td>';
    }
    echo '</tr>';
 }

当此值为"Verbruik" =&gt; "1 op 11" 时,我如何回显某些内容? 如果第二个数字大于 11,我必须回应“那是正确的”。

所以例子是:

$autos[] = array(
    "auto" => "Fiat Panda",
    "Max snelheid" => "140 km/h",
    "Verbruik" => "1 op 11");

所以当我有上面的代码时。我怎么能回应“那是正确的”?

【问题讨论】:

  • 为了清楚起见,您只想回显具有“Verbruik”=>“1 op 11”的汽车??
  • 不,我想回应我的 foreach,当“verbruik”中的值为 11 或更大时,我想回应另一个“那是正确的”。
  • 如果我的回答对你有用,请把它作为最佳答案。

标签: php arrays


【解决方案1】:

使用explode()函数将你的字符串“1 op 12”分解成2个数字的数组,然后检查第二个数字是否大于11或任何你想要的。

foreach ($autos as $cars => $arr){
    echo '<tr>';
        foreach($arr as $test => $data){             
            echo '<td>'.$data." ";
            if($test == "Verbruik"){
              $temp = explode(" op ",$data);
              if($temp[1] > 11 ){
                  echo "correct "; // do whatever you want
              }  
            }
            echo '</td>';
    }
    echo '</tr>';
 }

【讨论】:

  • 这工作谢谢!但是假设我有 3 个数组,其值高于 11。然后它说正确正确。我怎样才能把它放在 $data 旁边?所以它显示正确的数据后?在正确的 ?
  • 我已经编辑了我的答案,您可以移动 if 语句或在第二个 foreach 中显示您想要的任何内容
【解决方案2】:

试试这个:

 foreach ($autos as $cars => $arr){
    echo '<tr>';
        foreach($arr as $test => $data){
            $numbers = explode(" op ", $data);
            if($test == 'Verbruik'){

                if((int) $numbers[1] >= 11)

                     echo '<td>'.$data." , That's correct!</td>";
            }

            else
                echo '<td>'.$data.'</td>';
    }
    echo '</tr>';
 }

【讨论】:

  • $a = explode(" ", $data)之类的事情可能会更好。然后可以使用$a[2]...检索最后一个数字...
  • 感谢您的意见。上面的解决方案是一个更好的解决方案,我已经使用了 1.
猜你喜欢
相关资源
最近更新 更多
热门标签