2017-07-27 64 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 
}