如何在php数组中显示大于零的项目

时间:2013-10-18 16:50:01

标签: php

我很难将数据包裹在阵列周围,到目前为止我所读到的内容似乎对我没有意义所以如果这是一个愚蠢的问题,我会提前道歉吗?我已经建立了这个:

<?php $inv_array = compact("a_inventory", "b_inventory", "c_inventory", "d_inventory");  ?>
            <?php
            foreach($inv_array as $key => $value) {
            echo "$key: $value<br />";
            }

它正在完美地显示不同的库存水平和位置。接下来我想做的是说它是否在数组中并且大于零回声“在库存中”否则“缺货”

预先提供任何帮助!

2 个答案:

答案 0 :(得分:0)

这适用于您在下面描述的内容

$instock = false;
foreach($inv_array as $value) {
    if($value > 0) {
        $instock = true;
    }
}
echo  ($instock) ? "In Stock" : "Out of Stock";

答案 1 :(得分:0)

您使用compact()的方式让我相信您正在构建一个多维数组(其中 a_inventory b_inventory ...都是他们自己的产品和库存值数组),一个foreach很可能是不够的。如果您有这样的事情:

$a_inventory[0]['product'] = 'product1';
$a_inventory[0]['stock'] = '2';

$a_inventory[1]['product'] = 'product2';
$a_inventory[1]['stock'] = '0';

..and so on

$inv_array = compact("a_inventory", "b_inventory", "c_inventory", "d_inventory");

foreach($inv_array as $key => $value) {
    foreach($value as $newKey => $newValue){
        if(($newKey == 'stock') && ($newValue > 0)){
             echo $newKey . " : " . $newValue;
        }
    }
}