PHP二維去重算法的方法
導語:需求已搞定,只要遇到數組,我們第一個想到的除了現成的PHP方法之外,就是循環,不管是foreach還是for,下面就由小編為大家介紹一下PHP二維去重算法的方法,歡迎大家閲讀!
需求
現在有下面一組二維數組:
array(8) {
[0]=>
array(2) {
["name"]=>
string(4) "name"
["value"]=>
string(6) "青葉"
}
[1]=>
array(2) {
["name"]=>
string(5) "phone"
["value"]=>
string(11) "13812341234"
}
[2]=>
array(2) {
["name"]=>
string(12) "fileds_507[]"
["value"]=>
string(12) "我是青葉"
}
[3]=>
array(2) {
["name"]=>
string(12) "fileds_508[]"
["value"]=>
string(6) "合肥"
}
[4]=>
array(2) {
["name"]=>
string(12) "fileds_509[]"
["value"]=>
string(3) "男"
}
[5]=>
array(2) {
["name"]=>
string(12) "fileds_510[]"
["value"]=>
string(6) "足球"
}
[6]=>
array(2) {
["name"]=>
string(12) "fileds_510[]"
["value"]=>
string(6) "棒球"
}
[7]=>
array(2) {
["name"]=>
string(12) "fileds_511[]"
["value"]=>
string(16) "2016-12-15T11:15"
}
}
需要將處於第二維鍵名為name,其值相同的數組的value合併,形成一個新的`數組。
比如上面代碼中的name為fileds_510的兩個二維數組,就應該合併為一個值為足球,棒球的數組。
提到數組,再PHP中我們首先想到了循環,那麼這裏顯然比較適合使用for循環處理,與冒泡排序相似,一個個比較,最好處理。
代碼
代碼如下:
$public_info = 數組;
for ($i=0;$i
for ($j=$i+1;$j
if ($public_info[$j]['name'] == $public_info[$i]['name']) {
$public_info[$i]['value'] .= ',' . $public_info[$j]['value'];
unset($public_info[$j]);
}
}
}
執行結果:
array(7) {
[0]=>
array(2) {
["name"]=>
string(4) "name"
["value"]=>
string(6) "青葉"
}
[1]=>
array(2) {
["name"]=>
string(5) "phone"
["value"]=>
string(11) "13812341234"
}
[2]=>
array(2) {
["name"]=>
string(12) "fileds_507[]"
["value"]=>
string(12) "我是青葉"
}
[3]=>
array(2) {
["name"]=>
string(12) "fileds_508[]"
["value"]=>
string(6) "合肥"
}
[4]=>
array(2) {
["name"]=>
string(12) "fileds_509[]"
["value"]=>
string(3) "男"
}
[5]=>
array(2) {
["name"]=>
string(12) "fileds_510[]"
["value"]=>
string(13) "足球,棒球"
}
[7]=>
array(2) {
["name"]=>
string(12) "fileds_511[]"
["value"]=>
string(16) "2016-12-15T11:15"
}
}
-
php環境怎麼配置
使用php集成環境可以輕鬆實現php一鍵安裝,搭建php開發環境;phpnow,xampp,phpstudy是Windows平台上最常用的三個php集成開發環境。以下是小編為大家搜索整理的PHP環境配置的方法,歡迎大家閲讀!更多精彩內容請及時關注我們考試網!運行環境配置:php54+Apache2.2+Mysq...
-
PHP如何使用curl實現數據抓取
導語:PHP如何使用curl實現數據抓取呢?下面是小編給大家提供的.實現代碼,大家可以參考閲讀,更多詳情請關注應屆畢業生考試網。<?phpdefine('IS_PROXY',true);//是否啟用代理functionasync_get_url($url_array,$wait_usec=0){if(!is_array($url_array))retu...
-
零基礎學習PHP應該怎麼學
在網上可以看到很多學習php語言的方法,鮮有適合零基礎自學的,當然你要有其他主流語言的從業經驗就另説了,比如你從事java開發3年,python3年之類的,並且英語已經過了6級,閲讀英文書籍和文檔沒什麼壓力,可以按照那些方式學一下。但是隻是感興趣想要學習php語言,不如看看...
-
如何運用PHP實現字符串逆序排列
如何運用PHP實現字符串逆序排列呢?下面是小編給大家提供的實現方法,大家可以參考練習,更多詳情請關注應屆畢業生考試網。關於字符串的逆序排列,最簡單的使用PHP函數strrev()的測試代碼如下:header('Content-type:text/html;charset=utf-8');$str=implode(&...