$arr?=?array(
成都創(chuàng)新互聯(lián)公司是一家專(zhuān)注于網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),巴馬網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:巴馬等地區(qū)。巴馬做網(wǎng)站價(jià)格咨詢(xún):18982081108
"圓柱加"?=?array(
"data"?=?array(
array(
"product_id"?=?36,
"style_id"?=?102,
"style_name"?=?"圓柱架",
"product_sn"?=?"MMJ000036",
"product_thumb"?=?"a.jpg"
),
array(
"product_id"?=?36,
"style_id"?=?102,
"style_name"?=?"圓柱架",
"product_sn"?=?"MMJ000036",
"product_thumb"?=?"a.jpg"
),
)
),
"蝴蝶夾"?=?array(
"data"?=?array(
array(
"product_id"?=?36,
"style_id"?=?102,
"style_name"?=?"蝴蝶夾",
"product_sn"?=?"MMJ000036",
"product_thumb"?=?"a.jpg"
),
array(
"product_id"?=?36,
"style_id"?=?102,
"style_name"?=?"蝴蝶夾",
"product_sn"?=?"MMJ000036",
"product_thumb"?=?"a.jpg"
),
)
)
);
$count?=?0;
foreach($arr?as?$k=$v){
$arr[$k]['group_name']?=?$k;
$arr[$count]?=?$arr[$k];
unset($arr[$k]);
$count++;
}
echo?json_encode($arr);
這樣輸出出來(lái)格式是"data":[{}],"group_name": "XXX"
反正是json 反的也沒(méi)問(wèn)題吧?
寫(xiě)這么多你都不給我采納一下。。。
是不同元素之間都要換行嗎?
我的思路是:從第一個(gè)開(kāi)始,對(duì)其他元素進(jìn)行掃描,找到一樣的就 輸出,同時(shí)刪掉找出的這個(gè)元素,。。。。比較完了 換行
然后下一個(gè)元素
這個(gè)答案是錯(cuò)誤的!請(qǐng)及時(shí)認(rèn)清。我想問(wèn)一下答主你是這么想的?
請(qǐng)查考下面的這些PHP函數(shù)
統(tǒng)計(jì):
array_count_values 統(tǒng)計(jì)數(shù)組中所有的值出現(xiàn)的次數(shù)
array_product 計(jì)算數(shù)組中所有值的乘積
array_sum 計(jì)算數(shù)組中所有值的和
count 計(jì)算數(shù)組中的單元數(shù)目或?qū)ο笾械膶傩詡€(gè)數(shù)
sizeof count() 的別名
搜索:
array_key_exists 檢查給定的鍵名或索引是否存在于數(shù)組中
array_search 在數(shù)組中搜索給定的值,如果成功則返回相應(yīng)的鍵名
in_array 檢查數(shù)組中是否存在某個(gè)值
排序:
array_multisort 對(duì)多個(gè)數(shù)組或多維數(shù)組進(jìn)行排序
arsort 對(duì)數(shù)組進(jìn)行逆向排序并保持索引關(guān)系
asort 對(duì)數(shù)組進(jìn)行排序并保持索引關(guān)系
krsort 對(duì)數(shù)組按照鍵名逆向排序
ksort 對(duì)數(shù)組按照鍵名排序
natcasesort 用“自然排序”算法對(duì)數(shù)組進(jìn)行不區(qū)分大小寫(xiě)字母的排序
natsort 用“自然排序”算法對(duì)數(shù)組排序
rsort 對(duì)數(shù)組逆向排序
sort 對(duì)數(shù)組排序
uasort 使用用戶(hù)自定義的比較函數(shù)對(duì)數(shù)組中的值進(jìn)行排序并保持索引關(guān)聯(lián)
uksort 使用用戶(hù)自定義的比較函數(shù)對(duì)數(shù)組中的鍵名進(jìn)行排序
usort 使用用戶(hù)自定義的比較函數(shù)對(duì)數(shù)組中的值進(jìn)行排序
shuffle 將數(shù)組打亂
交集:
array_intersect_assoc 帶索引檢查計(jì)算數(shù)組的交集
array_intersect_key 使用鍵名比較計(jì)算數(shù)組的交集
array_intersect_uassoc 帶索引檢查計(jì)算數(shù)組的交集,用回調(diào)函數(shù)比較索引
array_intersect_ukey 用回調(diào)函數(shù)比較鍵名來(lái)計(jì)算數(shù)組的交集
array_intersect 計(jì)算數(shù)組的交集
array_key_exists 用回調(diào)函數(shù)比較鍵名來(lái)計(jì)算數(shù)組的交集
array_uintersect_assoc 帶索引檢查計(jì)算數(shù)組的交集,用回調(diào)函數(shù)比較數(shù)據(jù)
array_uintersect 計(jì)算數(shù)組的交集,用回調(diào)函數(shù)比較數(shù)據(jù)
差集:
array_udiff_assoc 帶索引檢查計(jì)算數(shù)組的差集,用回調(diào)函數(shù)比較數(shù)據(jù)
array_udiff_uassoc 帶索引檢查計(jì)算數(shù)組的差集,用回調(diào)函數(shù)比較數(shù)據(jù)和索引
array_udiff 用回調(diào)函數(shù)比較數(shù)據(jù)來(lái)計(jì)算數(shù)組的差集
array_diff_assoc 帶索引檢查計(jì)算數(shù)組的差集
array_diff_key 使用鍵名比較計(jì)算數(shù)組的差集
array_diff_uassoc 用用戶(hù)提供的回調(diào)函數(shù)做索引檢查來(lái)計(jì)算數(shù)組的差集
array_diff_ukey 用回調(diào)函數(shù)對(duì)鍵名比較計(jì)算數(shù)組的差集
array_diff 計(jì)算數(shù)組的差集
獲取數(shù)組的部分內(nèi)容:
array_chunk 將一個(gè)數(shù)組分割成多個(gè)
array_filter 用回調(diào)函數(shù)過(guò)濾數(shù)組中的單元
array_keys 返回?cái)?shù)組中所有的鍵名
array_slice 從數(shù)組中取出一段
array_values 返回?cái)?shù)組中所有的值
加工出所需數(shù)組:
array_combine 創(chuàng)建一個(gè)數(shù)組,用一個(gè)數(shù)組的值作為其鍵名,另一個(gè)數(shù)組的值作 為其值
array_fill 用給定的值填充數(shù)組
array_flip 交換數(shù)組中的鍵和值
array_map 將回調(diào)函數(shù)作用到給定數(shù)組的單元上
array_merge_recursive 遞歸地合并一個(gè)或多個(gè)數(shù)組
array_merge 合并一個(gè)或多個(gè)數(shù)組
array_pad 用值將數(shù)組填補(bǔ)到指定長(zhǎng)度
array_push 將一個(gè)或多個(gè)單元壓入數(shù)組的末尾(入棧)
array_reverse 返回一個(gè)單元順序相反的數(shù)組
array_shift 將數(shù)組開(kāi)頭的單元移出數(shù)組
array_splice 把數(shù)組中的一部分去掉并用其它值取代
array_unique 移除數(shù)組中重復(fù)的值
array_unshift 在數(shù)組開(kāi)頭插入一個(gè)或多個(gè)單元
array_walk_recursive 對(duì)數(shù)組中的每個(gè)成員遞歸地應(yīng)用用戶(hù)函數(shù)
array_walk 對(duì)數(shù)組中的每個(gè)成員應(yīng)用用戶(hù)函數(shù)
compact 建立一個(gè)數(shù)組,包括變量名和它們的值
range 建立一個(gè)包含指定范圍單元的數(shù)組
單元:
array_pop 將數(shù)組最后一個(gè)單元彈出(出棧)
array_rand 從數(shù)組中隨機(jī)取出一個(gè)或多個(gè)單元
current 返回?cái)?shù)組中的當(dāng)前單元
pos current() 的別名
each 返回?cái)?shù)組中當(dāng)前的鍵/值對(duì)并將數(shù)組指針向前移動(dòng)一步
end 將數(shù)組的內(nèi)部指針指向最后一個(gè)單元
key 返回?cái)?shù)組中當(dāng)前單元的鍵名
list 把數(shù)組中的值賦給一些變量
next 將數(shù)組中的內(nèi)部指針向前移動(dòng)一位
prev 將數(shù)組的內(nèi)部指針倒回一位
reset 將數(shù)組的內(nèi)部指針指向第一個(gè)單元
其他:
array_reduce 用回調(diào)函數(shù)迭代地將數(shù)組簡(jiǎn)化為單一的值
extract 從數(shù)組中將變量導(dǎo)入到當(dāng)前的符號(hào)表
array 新建一個(gè)數(shù)組
PHP根據(jù)數(shù)組的值分組,php array中沒(méi)有自帶這個(gè)函數(shù)但是很常用
代碼:
$_array = array(
array(1,11,'2016-05-18'),
array(2,11,'2016-05-18'),
array(3,22,'2016-05-18'),
array(4,22,'2016-05-18'),
array(5,33,'2016-05-19'),
array(6,33,'2016-05-19'),
array(7,44,'2016-05-19'),
array(8,44,'2016-05-19'),
array(9,55,'2016-05-20'),
array(10,55,'2016-05-20'),
);
var_dump(array_val_chunk($_array));
function array_val_chunk($array){
$result = array();
foreach ($array as $key = $value) {
$result[$value[1].$value[2]][] = $value;
}
$ret = array();
//這里把簡(jiǎn)直轉(zhuǎn)成了數(shù)字的,方便同意處理
foreach ($result as $key = $value) {
array_push($ret, $value);
}
return $ret;
}
運(yùn)行結(jié)果如下:
array(5) {
[0]=
array(2) {
[0]=
array(3) {
[0]=
int(1)
[1]=
int(11)
[2]=
string(10) "2016-05-18"
}
[1]=
array(3) {
[0]=
int(2)
[1]=
int(11)
[2]=
string(10) "2016-05-18"
}
}
[1]=
array(2) {
[0]=
array(3) {
[0]=
int(3)
[1]=
int(22)
[2]=
string(10) "2016-05-18"
}
[1]=
array(3) {
[0]=
int(4)
[1]=
int(22)
[2]=
string(10) "2016-05-18"
}
}
[2]=
array(2) {
[0]=
array(3) {
[0]=
int(5)
[1]=
int(33)
[2]=
string(10) "2016-05-19"
}
[1]=
array(3) {
[0]=
int(6)
[1]=
int(33)
[2]=
string(10) "2016-05-19"
}
}
[3]=
array(2) {
[0]=
array(3) {
[0]=
int(7)
[1]=
int(44)
[2]=
string(10) "2016-05-19"
}
[1]=
array(3) {
[0]=
int(8)
[1]=
int(44)
[2]=
string(10) "2016-05-19"
}
}
[4]=
array(2) {
[0]=
array(3) {
[0]=
int(9)
[1]=
int(55)
[2]=
string(10) "2016-05-20"
}
[1]=
array(3) {
[0]=
int(10)
[1]=
int(55)
[2]=
string(10) "2016-05-20"
}
}
}
你可以試試把要比較的數(shù)組排序后直接進(jìn)行比較。
排序是為了讓array('甲', '乙')和array('乙', '甲')都變成array('甲', '乙'),如果配方原料的順序重要的話(huà)就不用排序,之后直接用===或者其它函數(shù)比較就行了。
?php
$mixitem?=?array('甲',?'甲',?'甲');
$mixinfo?=?array(?
array('stuff'?=?array('甲',?'乙',?'丙'),?'result'?=?array('丁')),?
array('stuff'?=?array('甲',?'甲',?'甲'),?'result'?=?array('丁')),?
);
$mixflag?=?false;
sort($mixitem);
foreach($mixinfo?as?$e)?{
$arr?=?$e['stuff'];
sort($arr);
if?($arr?===?$mixitem)?{
$mixflag?=?true;
break;
}
}
echo?$mixflag???'true'?:?'false';
以上代碼輸出true
網(wǎng)頁(yè)名稱(chēng):php數(shù)組相同數(shù)據(jù)分組 php數(shù)組相加組合數(shù)據(jù)
地址分享:http://chinadenli.net/article12/hgddgc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、云服務(wù)器、App設(shè)計(jì)、網(wǎng)站排名、網(wǎng)站策劃、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)