1. 在用mysql查詢的時候,用group by (某一個字段) 將其查詢結果合并;
鼎城網站制作公司哪家好,找創(chuàng)新互聯!從網頁設計、網站建設、微信開發(fā)、APP開發(fā)、自適應網站建設等網站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯公司2013年成立到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選創(chuàng)新互聯。
或者;
2. 查詢條件用limit 1 限制查詢結果條數,反正內容一樣,你就要一條即可;
array_unique函數提供了過濾重復的值的功能,但是該函數只能處理一維數組,如果遇到多維數組我們可以現將其轉化為一維數組。示例代碼如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/*
* $data 是你要處理數據
* $result 是輸出的結果
*/
//將其轉化為一維數組
foreach ($data as $row) {
$row = serialize($row);
}
unset($row);
$data = array_unique($data);
//還原多維數組
foreach ($data as $row) {
$row = unserialize($row);
}
unset($row);
不好意思 樓主要求,我看錯了,追加下面的代碼
1
2
3
4
5
6
7
8
9
10
11
12
$result=array();
$tmp_arr=array();
foreach ($data as $row) {
$tmp_arr[$row['confuguarable_sku']][] = $row['size'];
}
//將尺寸用逗號拼接
foreach ($tmp_arr as $sku = $size) {
$result[] = array('confuguarable_sku'=$sku, 'size'=implode(",", $size));
}
echo "pre";
//輸出結果
print_r($result);
想要比如折扣里面有兩個8挨著,我就讓這兩個8合并單元格,顯示成一個
就是這個意思啊 輸出前 判斷如果折扣和價格相同
就輸出 跨列的一格 內容是8
echo "td colspan=28/td"
不然 就按照折扣和價格分別輸出
echo "td88/tdtd9/td";
PHP是服務器腳本語言 頁面得到結果以后就不可以改變了 輸出什么內容是你自己先判斷再輸出的
如果你值是存在數組里的 用二維數組逐行輸出
while(){
if($a[$i][0] == $a[$i][1]){}
else{}
$i++;
}
輸出表格的時候 判斷折扣和價格相等的 輸出跨列格 就行了
if($a== $b){
echo "td colspan=2價格/td"
}
else{
echo "td折扣/tdtd價格/td“
}
colspan是跨列 rowspan是跨行
具體實例代碼如下:
?php
// 刪除數組中相同元素,只保留一個相同元素
function formatArray($array)
{
sort($array);
$tem = "";
$temarray = array();
$j = 0;
for($i=0;$icount($array);$i++)
{
if($array[$i]!=$tem)
{
$temarray[$j] = $array[$i];
$j++;
}
$tem = $array[$i];
}
return $temarray;
}
//測試 調用函數
$array = array('aa','bb','aa',3,4,5,5,5,5,'bc');
$arr = formatArray($array);
print_r($arr);
?