<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. php語言

    如何設置PHP二維數組去重算法

    時間:2025-03-01 19:44:01 php語言 我要投稿
    • 相關推薦

    如何設置PHP二維數組去重算法

      本文給大家分享的代碼是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<count($public_info);$i++) {

      for ($j=$i+1;$j<count($public_info);$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方法之外,就是循環,不管是foreach還是for,上面例子是我項目處理的一個自定義表單編輯的小段過程,希望對大家思路有幫助。

    【如何設置PHP二維數組去重算法】相關文章:

    PHP二維去重算法的方法07-31

    PHP二維數組排序的方法03-23

    PHP二維數組排序方法06-24

    php二維數組怎么求和07-16

    PHP新手如何學習數組03-13

    如何判斷php數組的維度08-04

    PHP使用遞歸算法無限遍歷數組示例05-20

    php二維數組相同鍵名相加實例02-09

    PHP判斷數組是一維二維或幾維實例05-26

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人