ホームページ  >  記事  >  バックエンド開発  >  分類_PHP チュートリアルに従った PHP 配列のマージと再マージ

分類_PHP チュートリアルに従った PHP 配列のマージと再マージ

WBOY
WBOYオリジナル
2016-07-13 10:44:511034ブラウズ

PHP で単純な配列をマージする方法はたくさんありますが、今日の私の要件は、配列 ID に基づいて配列を再マージし、分類に基づいて操作することです。

最も単純な配列の結合には、array_merge を使用するだけです

array_merge() は 2 つ以上の配列のセルを結合し、1 つの配列の値が前の配列に追加されます。結果の配列を返します。

配列キー名が数値キー名で、マージされる 2 つの配列に同じ名前の数値キーがある場合、array_merge() を使用しても元の値は上書きされませんが、「+」を使用して配列をマージすると、最初に出現した値が最終結果として返され、同じキー名を持つ後続の配列の値は「破棄」されます (注: 上書きではなく、最初に出現した値が保持されます)。例:

コードは次のとおりです コードをコピー

$array1 = array(1=>'0');
$array2 = array(1=> "データ");
$result1 = $array2 + $array1;/*結果は $array2 の値*/
print_r($result);
$result = $array1 + $array2 ;/*結果は $array1 の値*/
print_r($result);
$result3 = array_merge($array2,$array1);/*結果は$array2と$array1の値となり、キー名は再割り当てされます*/
print_r($result3);
$result4 = array_merge($array1,$array2);/*結果は$array1と$array2の値となり、キー名は再割り当てされます*/
print_r($result4);

出力結果は次のとおりです:
配列 ( [1] => データ )
配列 ( [1] => 0 )
配列 (
[0] => データ
[1] => 0
)
配列
(
[0] => 0
[1] => データ
)

2. 同じ配列キー名が文字の場合、「+」演算子はキー名が数字の場合と同じですが、array_merge() は同じキー名の以前の値を上書きします。
例:

コードは次のとおりです コードをコピー


$array1 = array('asd'=>'0');
$array2 = array('asd' => "データ");
$result1 = $array2 + $array1;/*結果は $array2 の値*/
print_r($result);
$result = $array1 + $array2 ;/*結果は $array1 の値*/
print_r($result);
$result3 = array_merge($array2,$array1);/*結果は $array1*/
print_r($result3);
$result4 = array_merge($array1,$array2);/*結果は $array2*/
print_r($result4);


出力結果は次のようになります:

配列 ( [asd] => データ )
配列 ( [asd] => 0 )
配列 ( [asd] => 0 )
配列 ([asd] => データ)

たくさん話した後、友達に紹介したいのはこれです

例。

分類フィールドに基づいた配列の再編成

PHP で単純な配列をマージする方法は多数ありますが、今日の私の要件は、配列 ID に基づいて配列を再マージし、分類に基づいて操作することです。 私が持っている最も単純な配列のマージ...
コードは次のとおりです コードをコピー


//再編成する必要がある配列
$arrar=配列(); $array[]=array('アイテムID' => 110126866896,'カテゴリID' => 111); $array[]=array('アイテムID' => 120126866896,'カテゴリID' => 112); $array[]=array('アイテムID' => 130126866896,'カテゴリID' => 113); $array[]=array('アイテムID' => 140126866896,'カテゴリID' => 114); $array[]=array('アイテムID' => 150126866896,'カテゴリID' => 115); $array[]=array('アイテムID' => 160126866896,'カテゴリID' => 116); $array[]=array('アイテムID' => 170126866896,'カテゴリID' => 117); $array[]=array('アイテムID' => 118126866896,'カテゴリID' => 111); $array[]=array('アイテムID' => 121126866896,'カテゴリID' => 112); $array[]=array('アイテムID' => 132126866896,'カテゴリID' => 113); $array[]=array('アイテムID' => 143126866896,'カテゴリID' => 114); $array[]=array('アイテムID' => 154126866896,'カテゴリID' => 115); $array[]=array('アイテムID' => 165126866896,'カテゴリID' => 116); $array[]=array('アイテムID' => 176126866896,'カテゴリID' => 117); //配列は分類に従って再編成されます
$newArray=配列(); foreach($array as $val){
$newArray[$val['カテゴリID']][]=$val; }

//元の配列を削除してスペースを解放します
$配列=null; unset($array);
print_r($newArray)

?>










http://www.bkjia.com/PHPjc/633061.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/633061.html

技術記事

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。