(重複したエントリを削除すると同時に、各キーを予約)デエンファシスのPHP次元アレイ

以下の二次元アレイの場合、再ためにそれらを必要とします。

 

$編曲= 配列(
           ' 0 ' => 配列(
                     ' 名前' => ' ジェームズ' ' 年齢' => 30 
          )、
          ' 1 ' => 配列(
                     ' 名前' => ' スス' ' 年齢' = > 26 
          )、
          ' 2 ' =>アレイ(
                    ' 名前' => ' ジェームズ' ' 年齢' => 30 
          )、
          ' 新しい' => 配列(
                     ' 名前' => ' KUBE ' ' 年齢' => 37 
          )、
          ' リスト' => 配列(
                     ' 名前' => ' KUBE '' 年齢' => 27 
          )、
);

 

一つのキーは、同じで重複したエントリを削除できないため、内部の二次元配列の一次元配列:

/ * *デエンファシスに対する鍵となります/

<?PHP 
$ ARR =配列(...);   // 二次元アレイ上
functionsecond_array_unique_bykey($ ARR、$キー){ 
    $ tmp_arr = 配列();
     foreachの($ ARR AS $ K => $ V)
    { 
        IF( in_array($ V [$キー]は、$ tmp_arr))    // trueに戻り存在する場合、検索の$ V [$キー] $ tmp_arr配列は、存在している
        { 
            解除($のARR [K $]); //は、変数を破壊します同じ値が既に存在する場合$ tmp_arr値を削除
        }
         { 
            $ tmp_arr [K $] = $ V [キー$を];   // 異なる値が配列に格納されている
        } 
   } 
   // ksort($ ARRを);// ksort関数は、アレイ(オリジナルキーとキーを保持する)分類キーの値が保持されていないソート
    戻り、$のARR 
   } 
   $キー = ' 名前' ; 
   $ arr_key = second_array_unique_bykey(ARR $、$キー); 
   のprintf(" Asのための<BR>:>%S - givenkey " ;、キー$)
   ますprint_r($のarr_key); 
   エコー" A " ;

出力:

などのために指定されたキー- > 名:
配列(
[
0 ] =>アレイ([名] =>ジェームス[年齢] => 30
[ 1 ] =>アレイ([名] =>スス[年齢] => 26
[ 2 ] =>アレイ([名] => KUBE [年齢] => 37

 



おすすめ

転載: www.cnblogs.com/ryanzheng/p/11227587.html