【发布时间】:2015-11-16 16:32:57
【问题描述】:
我在从 foreach 循环的结果中删除重复项时遇到问题。
问题更多的是我如何拥有数据的过程。
这是获取我需要的数据。
$results = mysql_query($query);
while($rows = mysql_fetch_assoc($results)){
extract($rows);
我正在尝试获取item_specifiations 的列。在此列中有多个数据,以逗号分隔。有些项目的数据比其他项目多,有些则缺少某些数据。
$specs = explode("," , $item_specification);
我使用上述方法分离数据。然后我运行循环以显示数据库中每个项目的数据。
foreach($specs as $spec => $key ){
现在返回为每个项目(UPC、PRODUCT_NAME、ETC)分隔的每个数据,这正是我需要的。但我只需要该项目的“品牌”。所以我做了以下。
if (strpos($key, 'Brand') === 0) {
$brand = explode(':', $key);
}
现在我遇到的问题是某些商品的品牌名称重复。
所以我想删除所有返回的字符串。问题是,由于这是一个循环,因此无法将字符串相互比较。每个都是它自己的数组,所以我正在处理多个多维数组。我想不出一种方法将它们推入 1 个数组然后进行比较,或者使用类似 unique_array 的东西。
任何建议或帮助将不胜感激。我已经卡了一段时间了。
【问题讨论】:
-
您想跳过已经找到的品牌?将其与品牌密钥一起存储在数组中,并检查密钥是否已设置。真正的问题是数据库结构。
标签: php string multidimensional-array foreach