我有一个名为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/