這個問題困擾了我?guī)滋觳荒芩X了!怎么重新組合成新格式呢?
內(nèi)容隨意寫的。主要是格式!
sitePerEpisode 后面的數(shù)字 是集數(shù)
數(shù)據(jù)庫內(nèi)容:
$ceshi='優(yōu)酷視頻$$第1集$http://v.youku.com/$youku#第2集$http://v.youku.com/v_show$youku#第3集$http://v.youku.com/$$$芒果視頻$$第1集$http://vmguo.com$mgtv#第2集$http://v.mangguo.com$mgtv#第3集$http://v.mangguo.com$mgtv';
需要變成的格式
{
"sitePerEpisode": {
"1": [
{
"siteSource": "youku",
"siteName": "優(yōu)酷視頻",
"siteLink": "http://v.youku.com/"
},
{
"siteSource": "mgtv",
"siteName": "芒果視頻",
"siteLink": "/video/?34-1-0.html"
}
],
"2": [
{
"siteSource": "youku",
"siteName": "優(yōu)酷視頻",
"siteLink": "/video/?34-0-1.html"
},
{
"siteSource": "mgtv",
"siteName": "芒果視頻",
"siteLink": "/video/?34-1-1.html"
}
],
"3": [
{
"siteSource": "youku",
"siteName": "優(yōu)酷視頻",
"siteLink": "/video/?34-0-2.html"
},
{
"siteSource": "mgtv",
"siteName": "芒果視頻",
"siteLink": "/video/?34-1-2.html"
}
]
}
}
以前是按播放源 a視頻 1 2 3 b視頻 1 2 3 c視頻 1 2 3
現(xiàn)在要求是 按集數(shù)
1 a視頻 b視頻 c視頻 2 a視頻 b視頻 c視頻 3 a視頻 b視頻 c視頻
你的變量$ceshi好像錯了我改了一下,不知道對不對
//錯誤的
$ceshi='優(yōu)酷視頻$$第1集$http://v.youku.com/$youku#第2集$http://v.youku.com/v_show$youku#第3集$http://v.youku.com/$$$芒果視頻$$第1集$http://vmguo.com$mgtv#第2集$http://v.mangguo.com$mgtv#第3集$http://v.mangguo.com$mgtv';
//我?guī)湍阈薷牧?,其中少?youku這一部分
$ceshi='優(yōu)酷視頻$$第1集$http://v.youku.com/$youku#第2集$http://v.youku.com/v_show$youku#第3集$http://v.youku.com/$youku$$$芒果視頻$$第1集$http://vmguo.com$mgtv#第2集$http://v.mangguo.com$mgtv#第3集$http://v.mangguo.com$mgtv';
$result_array = array();
$temp = explode('$$$',$ceshi);
//var_dump($temp);
foreach($temp as $key=>$value){
$temp_array = (explode('$$',$value));
//當前的類別
$category = $temp_array[0];
//內(nèi)容再次進行歸類
$temp_array = explode('#',$temp_array[1]);
foreach($temp_array as $key=>$value){
//當前的集數(shù)
$temp_value = explode('$',$value);
$ep_number = preg_replace('/(第)||(集)/','',$temp_value[0]);
//需要壓入的數(shù)組
$temp_result['siteSource']= $temp_value[2];
$temp_result['siteName']= $category;
$temp_result['siteLink']= $temp_value[1];
//壓入結(jié)果數(shù)組
$result_array["sitePerEpisode"][$ep_number][]=$temp_result;
}
}
//$result_array為你要的結(jié)果,你可以var_dump看一下
//var_dump($result_array);
//將結(jié)果數(shù)組轉(zhuǎn)化為json,中文字符會被轉(zhuǎn)化
$json_result = json_encode($result_array,true);
echo $json_result;
未轉(zhuǎn)化為json的array結(jié)果
array(1) {
["sitePerEpisode"]=>
array(3) {
[1]=>
array(2) {
[0]=>
array(3) {
["siteSource"]=>
string(5) "youku"
["siteName"]=>
string(12) "優(yōu)酷視頻"
["siteLink"]=>
string(19) "http://v.youku.com/"
}
[1]=>
array(3) {
["siteSource"]=>
string(4) "mgtv"
["siteName"]=>
string(12) "芒果視頻"
["siteLink"]=>
string(16) "http://vmguo.com"
}
}
[2]=>
array(2) {
[0]=>
array(3) {
["siteSource"]=>
string(5) "youku"
["siteName"]=>
string(12) "優(yōu)酷視頻"
["siteLink"]=>
string(25) "http://v.youku.com/v_show"
}
[1]=>
array(3) {
["siteSource"]=>
string(4) "mgtv"
["siteName"]=>
string(12) "芒果視頻"
["siteLink"]=>
string(20) "http://v.mangguo.com"
}
}
[3]=>
array(2) {
[0]=>
array(3) {
["siteSource"]=>
string(5) "youku"
["siteName"]=>
string(12) "優(yōu)酷視頻"
["siteLink"]=>
string(19) "http://v.youku.com/"
}
[1]=>
array(3) {
["siteSource"]=>
string(4) "mgtv"
["siteName"]=>
string(12) "芒果視頻"
["siteLink"]=>
string(20) "http://v.mangguo.com"
}
}
}
}兄弟,你這個排版真的讓人沒有幫你的欲望。。。而且你貼的json還格式錯誤,更沒法幫了,還是先把問題排版改改吧。
上面的兄弟已經(jīng)回答過了,我這邊有另一種思路,算是php的黑科技,你也可以用來參考
function formatSite($site_str) {
$sites_info = explode('$$$', $site_str);
$result = [];
foreach ($sites_info as $site_info) {
list($site_name, $info) = explode('$$', $site_info);
array_map(function ($item) use (&$result, $site_name) {
preg_match('/.*(\d).*\$(.*)\$(.*)/', $item, $matched);
list($number, $site_link, $site_source) = array_slice($matched, 1);
$result['sitePerEpisode'][$number][] = [
'siteSource'=>$site_source,
'siteName'=>$site_name,
'siteLink'=>$site_link
];
}, explode('#', $info));
}
return $result;
}
$str = '優(yōu)酷視頻$$第1集$http://v.youku.com/$youku#第2集$http://v.youku.com/v_show$youku#第3集$http://v.youku.com/$youku$$$芒果視頻$$第1集$http://vmguo.com$mgtv#第2集$http://v.mangguo.com$mgtv#第3集$http://v.mangguo.com$mgtv';
$result = formatSite($str);
思路是一樣的,而且邏輯上那位兄弟的解答更清晰,我只是用了一些黑科技
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復(fù)興的升級產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負責(zé)iOS教學(xué)及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。