我有一个名为part_name的数据库。
具有以下值:

Front Control Arm, Rear Control Arm


我只需要回显一次控制臂。
到目前为止,我在while循环中得到的结果是

Control Arm, Control Arm.


需要从while循环结果中回显出不同的值。我无法在SQL查询SELECT DISTINCT上执行此操作,因为我正在准备替换要在数据库中查询的行中的值。

while ($rowsparts = mysql_fetch_array($displayparts))    {
     $part=''.$rowsparts['part_name'].'';
     $part = preg_replace('/\bFront\b/u', '', $part);
     $part = preg_replace('/\bRear\b/u', '', $part);
     echo '<li>'.$part.'</li>';
}


我需要回显$ part变量的不同值,每个部件名称仅一次。

仅控制臂。

最佳答案

如果只想显示一次零件名称,这可能会起作用:

$lastpart = '';
while ($rowsparts = mysql_fetch_array($displayparts)) {
    $part = $rowsparts['part_name'];
    $part = trim(str_replace('Rear','',str_replace('Front','',$part)));
    if($lastpart != $part) {
        $lastpart = $part;
        echo "<li>".$part."</li>\n";
    } else {
        echo "<li>Part name duplicate: $part, lastpart: $lastpart</li>\n";
    }
}


我添加了else进行调试。它将显示用于检测重复项的两个变量。您可以在测试后将其删除。

如果您只想在零件名称不正确时仅显示一次零件名称,这可能会起作用。
它建立零件名称列表,并对照该列表检查每个零件名称,显示
仅列表中未找到的那些。

$part_list = array();
while ($rowsparts = mysql_fetch_array($displayparts)) {
    $part = $rowsparts['part_name'];
    $part = trim(str_replace('Rear','',str_replace('Front','',$part)));
    if(!isset($part_list[$part])) {
        $part_list[$part] = 1;
        echo "<li>".$part."</li>\n";
    }
}

关于php - While循环中的不同值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43161252/

10-13 01:46