遍历json数据,对同一属性数据进行分组?
<code>{ "module_list": [ { "content": { "module-type": "list-1", "module": "list", "type": "1", "name": "职位列表 ", "logo1": "imgurl1", "title1": "baidu1", "desc1": "hahahha1", "url1": "www.baidu.com1", "logo2": "imgurl2", "title2": "baidu2", "desc2": "hahahha2", "url2": "www.baidu.com2", "logo3": "imgurl3", "title3": "baidu3", "desc3": "hahahha3", "url3": "www.baidu.com3", "logo4": "", "title4": "", "desc4": "", "url4": "", "jobs": [ { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:1" }, { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:2" }, { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:3" }, { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:4" }, { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:1" }, { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:1" }, { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:4" }, { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:4" }, { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:3" }, { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:2" }, { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:2" } ] }, } ] } </code>
json存储了一些职位信息,怎么根据mark的值,对这些信息进行分组 ,例如mark值为group:1的放到一个分组里,,mark值为group:2的放到一个分组里,然后在前端显示在不同模块里。该怎么对数据进行遍历?遍历之后怎么根据不同的mark值放到不同的数组里呢
<code> public static function buildList($module){ $jobList2 = ""; if($module['jobs']){ foreach($module['jobs'] as $job){ $jobList2 .= <a class="post post2">{$job['name']}</a> <span class="salary">{$job['salary']}</span> html; } } return <div class="content"> <ul class="cmpList"> <li class="cmpList-li"> <img src="" alt=""> <h1 id="module-title">{$module['title1']}</h1> <p>{$module['desc1']}</p> <ul class="jobList2"> {$jobList2} </ul> <p class="more">更多职位</p> </li> <li class="cmpList-li"> <img src="" alt=""> <h1 id="module-title">{$module['title2']}</h1> <p>{$module['desc2']}</p> <ul class="jobList2"> {$jobList2} </ul> <p class="more">更多职位</p> </li> <li class="cmpList-li"> <img src="" alt=""> <h1 id="module-title">{$module['title3']}</h1> <p>{$module['desc3']}</p> <ul class="jobList2"> {$jobList2} </ul> <p class="more">更多职位</p> </li> <li class="cmpList-li"> <img src="" alt=""> <h1 id="module-title">{$module['title4']}</h1> <p>{$module['desc4']}</p> <ul class="jobList2"> {$jobList2} </ul> <p class="more">更多职位</p> </li> </ul> </div> html; } </code>
就是根据不同的group的值,让数据显示在相应的模块下面
回复内容:
<code>{ "module_list": [ { "content": { "module-type": "list-1", "module": "list", "type": "1", "name": "职位列表 ", "logo1": "imgurl1", "title1": "baidu1", "desc1": "hahahha1", "url1": "www.baidu.com1", "logo2": "imgurl2", "title2": "baidu2", "desc2": "hahahha2", "url2": "www.baidu.com2", "logo3": "imgurl3", "title3": "baidu3", "desc3": "hahahha3", "url3": "www.baidu.com3", "logo4": "", "title4": "", "desc4": "", "url4": "", "jobs": [ { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:1" }, { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:2" }, { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:3" }, { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:4" }, { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:1" }, { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:1" }, { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:4" }, { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:4" }, { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:3" }, { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:2" }, { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:2" } ] }, } ] } </code>
json存储了一些职位信息,怎么根据mark的值,对这些信息进行分组 ,例如mark值为group:1的放到一个分组里,,mark值为group:2的放到一个分组里,然后在前端显示在不同模块里。该怎么对数据进行遍历?遍历之后怎么根据不同的mark值放到不同的数组里呢
<code> public static function buildList($module){ $jobList2 = ""; if($module['jobs']){ foreach($module['jobs'] as $job){ $jobList2 .= <a class="post post2">{$job['name']}</a> <span class="salary">{$job['salary']}</span> html; } } return <div class="content"> <ul class="cmpList"> <li class="cmpList-li"> <img src="" alt=""> <h1 id="module-title">{$module['title1']}</h1> <p>{$module['desc1']}</p> <ul class="jobList2"> {$jobList2} </ul> <p class="more">更多职位</p> </li> <li class="cmpList-li"> <img src="" alt=""> <h1 id="module-title">{$module['title2']}</h1> <p>{$module['desc2']}</p> <ul class="jobList2"> {$jobList2} </ul> <p class="more">更多职位</p> </li> <li class="cmpList-li"> <img src="" alt=""> <h1 id="module-title">{$module['title3']}</h1> <p>{$module['desc3']}</p> <ul class="jobList2"> {$jobList2} </ul> <p class="more">更多职位</p> </li> <li class="cmpList-li"> <img src="" alt=""> <h1 id="module-title">{$module['title4']}</h1> <p>{$module['desc4']}</p> <ul class="jobList2"> {$jobList2} </ul> <p class="more">更多职位</p> </li> </ul> </div> html; } </code>
就是根据不同的group的值,让数据显示在相应的模块下面
var map = {};
for(var i=0,l=jobs.length;i
map[key] = map[key] || (map[key] = []);
map[key].push(jobs[i]);
}
return map;
这样返回的map就是一个key,value
{
group1:[job1,job2],
group2:[job3,job4]
}
应该就是你想要的
循环jobs数组:
<code>var jobsSortObject = {}; for(var i =0; i</code>
jobsSortObject就会是这个样子:
<code>{ 'group:1' : [{} , {}, {}], 'group:2' : [ {} ] } </code>
<code>php</code><code>$json = '{ "module_list": [ { "content": { "module-type": "list-1", "module": "list", "type": "1", "name": "职位列表 ", "logo1": "imgurl1", "title1": "baidu1", "desc1": "hahahha1", "url1": "www.baidu.com1", "logo2": "imgurl2", "title2": "baidu2", "desc2": "hahahha2", "url2": "www.baidu.com2", "logo3": "imgurl3", "title3": "baidu3", "desc3": "hahahha3", "url3": "www.baidu.com3", "logo4": "", "title4": "", "desc4": "", "url4": "", "jobs": [ { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:1" }, { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:2" }, { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:3" }, { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:4" }, { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:1" }, { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:1" }, { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:4" }, { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:4" }, { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:3" }, { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:2" }, { "name": "产品经理", "salary": "10k-15k", "url": "www.baidu.com", "desc": "广州", "mark": "group:2" } ] } } ] }'; $job = json_decode($json,true); $arr = []; foreach ($job['module_list'][0]['content']['jobs'] as $key => $value) { $mark = substr($value['mark'],-1,1); $arr[$value['mark']][] = $value; $arr[$value['mark']]['title'.$mark] = $job['module_list'][0]['content']['title'.$mark]; $arr[$value['mark']]['desc'.$mark] = $job['module_list'][0]['content']['desc'.$mark]; } print_r($arr); </code>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています
