比较数组中的先前值[php] prev()

时间:2012-08-16 19:45:41

标签: php compare

我在将数组中的值与数组中的先前值进行比较然后执行适当的操作时遇到问题。有些值是相同的,所以我想将它们剥离出来。

我试图让它做的是询问变量与前一个值,如果它们相等则显示除了所述值之外的所有其他内容。

这是我的代码。如果难以阅读,我道歉。我是自学成才,我会尽我所能......

<?php
// Get Variables from dept.php
$location = $_GET['location'];
$dept = $_GET['dept'];
// Connect to Database
$connect = mysql_connect('localhost', 'UserName', 'Pass');
mysql_select_db('database', $connect);
// Create Recordset       
$iso_sql = " SELECT * FROM `a_qa-iso_data`, `a_qa-iso_category` WHERE `a_qa-iso_data`.Article_Numbers = `a_qa-iso_category`.Article_No AND `a_qa-iso_data`.$location = 1 AND `a_qa-iso_data`.$dept = 1 ORDER BY `a_qa-iso_data`.Article_Numbers, `a_qa-iso_data`.Filename ASC;";
$iso_results = mysql_query($iso_sql, $connect) or die(mysql_error());
$rows_iso_results = mysql_num_rows($iso_results);
// Loop Results
while ($iso_array = mysql_fetch_array($iso_results)) {
    $article = $iso_array['Article_Numbers'];
    $title = $iso_array['Title'];
    $link = $iso_array['Link'];
    $class = $iso_array['Class'];
    $target = $iso_array['Target'];
    $filename = $iso_array['Filename'];
    $header = "<h4>$article - $title</h4>";
    $iso = "<a href=\"$link\" class=\"$class\" target=\"$target\">$filename</a>";
 // Display   
    $next = prev($iso_array);
    if ($next['Article_Numbers'] === $article) {
        echo "$iso";
    }
    else {
        echo "$header $iso";
    }
}
?>

简而言之,我正在寻找类似的东西:

$ article - $ title
- $异

$ article - $ title
- $异
- $异

$ article - $ title
- $异
- $异
- $异

$ article - $ title
- $异

无论如何,任何帮助将不胜感激。如果有人问过这个问题,我也很抱歉,我花了很多时间看,我发现的东西似乎并没有像我希望的那样提供信息。

1 个答案:

答案 0 :(得分:2)

为什么不为“previous”的值设置临时变量?

$previous = null;
while($iso_array = mysql_fetch_array($iso_results)) {
    // code 
    .
    .
    .

    if (!is_null($previous) && $previous['Article_numbers'] == $article) {
        // something
    } else {
        // something else
    }
    $previous = $iso_array;
}

注意:您应该停止使用mysql_*功能。他们被弃用了。而是使用PDO(从PHP 5.1开始支持)或mysqli(从PHP 4.1开始支持)。如果您不确定使用哪一个,read this article