2017-07-27 61 views
0

輸出我的第一陣列$arr_val當比較數組和值的鍵時,我怎麼能得到其他值?

Array 
(
    [0] => 0 
    [1] => 2 
    [2] => 3 
) 

輸出第二陣列$pecah_arr

Array 
(
    [0] => Kunyit dipercaya sebagai salah satu rempah yang dapat mendukung kesehatan hingga untuk pengobatan 
    [1] => Sayangnya, pemakaian yang keliru justru berdampak sebaliknya 
    [2] => Seperti berita yang diangkat NBC News, seorang wanita asal San Diego yang menerima pengobatan kunyit intravena harus mengakhiri nyawa. 
    [3] => Jade Erick meninggal 16 Maret lalu setelah pergi ke India untuk melakukan pengobatan rempah-rempah untuk penyakit eksim yang dideritanya. 
) 

我想這樣的輸出, 如果$arr_val同與$pecah_arr關鍵值,打印值相同。 但如果$arr_val中的值與$pecah_arr的鍵不相同,則打印不相同的值。

我的邏輯是這樣的:

$hasil_ringkasan=array(); 
    foreach ($arr_val as $key => $value) { 
     foreach ($pecah_arr as $key2 => $value2) { 
      if($value==$key2){ 
       $no_doc=$value+1; 
       array_push($hasil_ringkasan, $value2); 
       //INSERT KE DB untuk Learning 
       $q=$this->db->query("INSERT INTO tb_sementara 
       VALUES('$key2[$value]','$no_doc','$fitur1_uji[$value]','$fitur2_uji[$value]', 
        '$fitur3_uji[$value]','$fitur4_uji[$value]','$fitur5_uji[$value]','$fitur6_uji[$value]','ringkasan')"); 

       }else{ 
       // INSERT KE DB untuk Learning 
       $q=$this->db->query("INSERT INTO tb_sementara 
       VALUES('$key2[$value]','$no_doc','$fitur1_uji[$value]','$fitur2_uji[$value]', 
        '$fitur3_uji[$value]','$fitur4_uji[$value]','$fitur5_uji[$value]','$fitur6_uji[$value]','bukan') 
       "); 
      } 

     } 
    } 

雖然if工作過,但我不知道爲什麼在else不工作。 感謝..

回答

1

你並不需要遍歷$ arr_val。使用in_array()代替。

$hasil_ringkasan=array(); 
    foreach ($pecah_arr as $key2 => $value2) { 
     if(in_array($key2,$arr_val)){ 
      $no_doc=$value+1; 
      array_push($hasil_ringkasan, $value2); 
      //INSERT KE DB untuk Learning 
      $q=$this->db->query("INSERT INTO tb_sementara 
      VALUES('$key2[$value]','$no_doc','$fitur1_uji[$value]','$fitur2_uji[$value]', 
       '$fitur3_uji[$value]','$fitur4_uji[$value]','$fitur5_uji[$value]','$fitur6_uji[$value]','ringkasan')"); 

      }else{ 
      // INSERT KE DB untuk Learning 
      $q=$this->db->query("INSERT INTO tb_sementara 
      VALUES('$key2[$value]','$no_doc','$fitur1_uji[$value]','$fitur2_uji[$value]', 
       '$fitur3_uji[$value]','$fitur4_uji[$value]','$fitur5_uji[$value]','$fitur6_uji[$value]','bukan') 
      "); 
     } 


} 
+0

我也認爲$ key2 [$ value]在你的代碼中是錯誤的。相反,在if和else –

+0

中使用$ pecah_arr [$ key2]非常感謝@Shuchi Sethi,我仍然嘗試這麼做。謝謝.. – Rachmad

+0

嗨@ Rachmad..Can你可以接受答案,如果它幫助你? –

0
<?php 

$same  = array_intersect($arr_val, array_keys($pecah_arr)); 
$not_same = array_diff($arr_val, array_keys($pecah_arr)); 

foreach ($same as $index) { 
    // do what you want on same values using $pecah_arr[$index] value 
} 

foreach ($not_same as $index) { 
    // do what you want on NOT same values using $pecah_arr[$index] value 
}