使用foreach和for循环过滤数组

时间:2018-06-28 13:16:21

标签: php

我正在将数据从mssql数据库提取到名为

的数组中
$results2

enter image description here

我只需要回显每个“项”一次,因此此示例仅应回显:

“ 52PTC84C25”和“ 0118SGUANN-R”

我可以轻松地做到这一点:

$uniqueItems = array_unique(array_map(function ($i) { return $i['ITEM']; }, $results2));

问题是当我尝试回显与这些值关联的其他项目时。我不确定如何开始回显这些数据。我尝试过:

foreach($uniquePids as $items)
{
    echo $items."<br />";

        foreach($results2 as $row)
        {
             echo $row['STK_ROOM']."-".$row['BIN']."<br />";
        }
 }

返回的值接近我的需求,但不完全是

enter image description here

这就是我需要的:

enter image description here

2 个答案:

答案 0 :(得分:0)

代码中的V(net)$attribute == "value2"条件将检查if是否已经打印。

ITEM

答案 1 :(得分:0)

假设您的结果集按ITEM ...

排序
$item = null;  // set non-matching default value
foreach ($results2 as $row) {
    if($row['ITEM'] != $item) {
        echo "{$row['ITEM']}<br>";  // only echo first occurrence 
    }
    echo "{$row['STK_ROOM']}-{$row['BIN']}<br>";
    $item = $row['ITEM'];  // update temp variable
}