PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPで重複する値を多次元配列にマージする


PHPで重複する値を多次元配列にマージするには、コードは次のとおりです-

<?php
$my_arr = array(
   array('Age'=>23, 'name'=>'Joe', 'hobby'=>'Cycling'),
   array('Age'=>26, 'name'=>'Hannah', 'hobby'=>'Rowing'),
   array('Age'=>30, 'name'=>'Dev', 'hobby'=>'Cycling'),
   array('Age'=>30, 'name'=>'Dev', 'hobby'=>'Cycling')
);
foreach($my_arr as $entry => $vals)
{
   $new_vals[$vals['hobby']][]=$vals;
}
echo "The unique array elements are ";
print_r($new_vals);
?>

出力

The unique array elements are Array
(
   [Cycling] => Array
   (
      [0] => Array
      (
         [Age] => 23
         [name] => Joe
         [hobby] => Cycling
      )

      [1] => Array
      (
         [Age] => 30
         [name] => Dev
         [hobby] => Cycling
      )

      [2] => Array
      (
         [Age] => 30
         [name] => Dev
         [hobby] => Cycling
      )

   )

   [Rowing] => Array
   (
      [0] => Array
      (
         [Age] => 26
         [name] => Hannah
         [hobby] => Rowing
      )

   )

)

年齢、名前、趣味を特定の値にマップする値の配列が定義されています。 「foreach」ループは配列値を反復処理するために使用され、新しい値が配列内のエントリの1つに割り当てられます。以前は重複していた値が1つのエントリにマージされるため、重複する値の保存が回避されます。


  1. PHPのarray_count_values()関数

    array_count_values()関数は、各値の出現回数を含む配列を返します。連想配列を返します。返される配列には、配列の値としてキーがあり、渡された値の数として値があります。 構文 array_count_values(arr) パラメータ arr − 値をカウントする配列。 戻る array_count_values()関数は、連想配列を返します。返される配列には、配列の値としてキーがあり、渡された値の数として値があります。 例 <?php $arr = array(Laptop,Keyboard,Mouse,Keyboard,Keyboar

  2. PHPのarray()関数

    PHPのarray()関数は配列を作成します。 PHPでは配列には3つのタイプがあります。 インデックス付き配列- 数値インデックス付きの配列です 連想配列- 名前付きキーを持つ配列です 多次元配列- 1つ以上のアレイを持つアレイです 構文 // array with numeric index i.e. Indexed arrays array(value1,value2...); // array with named keys i.e. associative arrays array(key1 => value1, key2 => value2...