2017-04-02 11 views
-3

アレイ1つの出力一致する場合、他の配列値を取得する方法は?

Array ( 
     [0] => Array ([ID] => 335 [userid] => 4 [username] => demo [media_id] => 17) 
     [1] => Array ([ID] => 436 [userid] => 4 [username] => demo [media_id] => 18) 
     [2] => Array ([ID] => 637 [userid] => 4 [username] => demo [media_id] => 19) 
     [3] => Array ([ID] => 838 [userid] => 4 [username] => demo [media_id] => 20) 
); 

アレイ2の出力と一致する場合、他の配列値を取得する方法

Array ( 
     [1] => Array ([ID] => 35 [userid] => 4 [media_id] => 17) 
     [2] => Array ([ID] => 36 [userid] => 4 [media_id] => 18) 
    ); 

?私はmedia_iduseridarray 2array 1に一致すれば、IDusernamearray 1からforeachループarray 2に一致させる必要がありますか?

更新

$array1 = array ( 
    0 => array ("ID" => "335", "userid" => "4", "username" => "demo", "media_id" => "17"), 
    1 => array ("ID" => "436", "userid" => "4", "username" => "demo", "media_id" => "18"), 
    2 => array ("ID" => "637", "userid" => "4", "username" => "demo", "media_id" => "19"), 
    3 => array ("ID" => "838", "userid" => "4", "username" => "demo", "media_id" => "20") 
        ); 

$array2 = array ( 
    1 => array ("ID" => "35", "userid" => "4", "media_id" => "17"), 
    2 => array ("ID" => "36", "userid" => "4", "media_id" => "18") 
         ); 


     foreach($array2 as $array) { 

      foreach($array1 as $get_data) { 
       if($array1['media_id'] == $get_data['media_id'] && $array1['userid'] == $get_data['userid']){ 
            $get_result[] = //get_data true; 
            } else { 
            $get_result[] = //get_data false; 
            } 
           } 


         //get ID and username or show false value 


       } 

最終的な答え

foreach($array2 as $array) { 
    $return = "false"; 
    foreach($array1 as $get_data) { 
     if($array1['media_id'] == $get_data['media_id'] && $array1['userid'] == $get_data['userid']) { 
     $get_result[] = ['ID' => $get_data['ID'], 'username' => $get_data['username']]; 
     $return = "true"; 
    } 
    } 

    if($return = "false"){ 
     echo false; 
    } 

} 
+0

を必要とするものを有効なPHPの配列を入れてください、出力しない – hassan

+0

はどこ 'foreachの()'であなたの試みですか? – Sean

+0

あなたはこれまでに何を試しましたか? –

答えて

0

私はよくあなたの質問を(私はよく分からない)理解している場合、これは動作するはずです:

foreach($array2 as $array) { 
    foreach($array1 as $get_data) { 
    if($array1['media_id'] == $get_data['media_id'] && $array1['userid'] == $get_data['userid']) { 
     $get_result[] = ['ID' => $get_data['ID'], 'username' => $get_data['username']]; 
    } 
    } 
} 
if (count($get_result) == 0) { 
    $get_result[] = false; 
} 
+0

こんにちは、更新をご覧ください。 – hime

+0

私はこれを試して、ありがとうが、問題は、私は値が必要な場合はfalseです。しかしそれは複数の偽りの価値を示しています。私はあなたが理解していると思う。 @gmc – hime

+0

一致しない場合は、一度だけ偽を取得するオプションはありますか?私は複数の偽りの価値を得ています。 – hime

0

本当の必要性についてはわかりませんが、@ gm Cはあなたに(一部の?すべて?)あなたは私見

<?php 

$array1 = array ( 
0 => array ("ID" => "335", "userid" => "4", "username" => "demo", "media_id" => "117"), 
1 => array ("ID" => "436", "userid" => "4", "username" => "demo", "media_id" => "118"), 
2 => array ("ID" => "637", "userid" => "4", "username" => "demo", "media_id" => "19"), 
3 => array ("ID" => "838", "userid" => "4", "username" => "demo", "media_id" => "20") 
       ); 

$array2 = array ( 
1 => array ("ID" => "35", "userid" => "4", "media_id" => "17"), 
2 => array ("ID" => "36", "userid" => "4", "media_id" => "18") 
        ); 

$get_result = array(); 

    foreach($array2 as $array) { 

     foreach($array1 as $get_data) { 
      if(($array['media_id'] == $get_data['media_id']) && ($array['userid'] == $get_data['userid'])) { 
           $get_result[] = ['ID' => $get_data['ID'], 'username' => $get_data['username']]; 
           } 
          } 
    } 

if (count($get_result) == 0) { 
echo"false"; 
} 
else { 
echo"true"; print_r($get_result); } 
?> 

/* I modified values to 117 & 118 -> returns "false" */ 
/* If you set values to 17 & 18 -> returns "true" */ 
+0

問題は同じですが、他のオプションで 'false'という値が1回だけ必要ですが、私は複数の時刻を取得しています。 – hime

+0

- >値が必要です偽 - >どういう意味ですか? "media_id" => "17" - > true + "media_id" => "18" - > true + "media_id" => "19" - > false + "media_id" => "20"しかし、あなたは偽の答えをどこに保管する必要がありますか? – OldPadawan

+0

gmcの回答を参照してください。私は彼が私の質問を完全に理解していると思う。 – hime

関連する問題