2017-05-19 7 views
1

私はいくつかの通知を全体的な配列に混ぜる必要があります。PHPで2つの配列の特定のキーの値を1つの新しい配列に追加するにはどうすればよいですか?

array today = array( 
'keya' => '11', 
'keyb' => 'string', 
'notice' => 'Visitor Arrives at 3pm', 
'keyd' => '44', 
... 
); 

array general = array( 
'keya' => '1', 
'notice' => 'Fire Alarms Tested This Week' 
); 

私は$の一般的な[「予告」]で今日[「予告」] $をマージ$のgeneral_noticeと呼ばれる新しい配列を持っていると思います。私は唯一の特定のキーのデータをマージするように私は、演算子を使用して行うか、array_mergeするかを理解することはできません

...

NBの$の一般的には、複数の行が複数の通知、すなわち持っていることがあります...

私は配列が多次元であるため、私は使用できませんarray_mergeだと思います。

EG:

//1st array with lots of data but the data belonging to the 'notice' key is what i'm interested in. 
array $today = [0]('id'=>'1','lotsOfKeys'=>"lots of values,'notice'="Visitor arrives at 3pm"); 

array $general = [0]('id'=> '1', 'notice' = "Fire Alarms Tested This Week"), 
       [1]('id'=> '2', 'notice' = "Blue Shift working"); 

所望の結果は次のとおりです。

$notices = ("Visitor arrives at 3pm", "Fire Alarms Tested This Week", "Blue Shift Working"); 
+0

は、プログラミング言語タグおよび所望の結果 – RomanPerekhrest

+0

を追加し、次のようにあなたはまた、任意の単一次元配列を付加することができます@トムあなたが望む結果を追加してください、あなたはまた、プログラミング言語のタグが正しいかどうかをチェックできますか? –

+0

プラス記号を簡単に使用できます。ここをクリックhttp://sandbox.onlinephpfunctions.com/code/fd22df66f111277062f9aa39acc8a5b4f2965d56 – Yuri

答えて

2

あなたがキーで配列を使用していて、各アレイは重複したキーを持つことができませんので、ご希望の結果は、のように簡単になります:あなたは配列の2次元配列を持っていない限り、例えば、

array general_notice = array($today['notice'], $general['notice']); 

array general = array(
    array( 
     'keya' => '11', 
     'keyb' => 'string', 
     'notice' => 'Visitor Arrives at 3pm', 
     'keyd' => '44' 
    ), 
     array( 
      'keya' => '1', 
      'notice' => 'Fire Alarms Tested This Week' 
    ), 
     ... 
); 

この場合、notices配列をループして、希望する値を新しいものにプッシュする必要があります。あなたはgeneral_notice配列に追加したい各配列のためのループを繰り返すことができます:

array general_notice = array(); 
foreach ($general as $value) { 
    array_push($general_notice, $value['notice']); 
} 

array_push($general_notice, $today['notice']); 
+0

$ today配列はどこに入っていますか? –

+0

これで、両方の配列が2次元であることがわかりました。あなたは 'general_notice'に追加するそれぞれの配列に対してループを繰り返すことができます – Ernis

+0

ありがとうございました。Ernis - 私はもっと一般的な値が順番に新しい配列。しかし、今日の値は何らかの理由で値が入っておらず、1文字などで奇妙な値がたくさんあります。$ generalには複数の行があります。今日は$がある。私はまだ –

0

質問は不明である、あなたがそれらをマージして何を意味するのですか?あなたは同じキーを持つ両方の配列に基づいてキーの値を連結しようとしていますか?

+0

はい - そうです。すべての通知の値を含む新しい配列を持っています –

関連する問題