0

output my first array $arr_val :

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

output second array $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.
)

I want to get output like this, if value in $arr_val same with key of $pecah_arr, print the value that same. but if value in $arr_val not same with key of $pecah_arr, print the value that not same.

my logic like this:

    $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') 
                ");
            }

        }
    }

Although in if had worked, but I dont know why in else dont work. thanks..

2 Answers 2

1

You do not need to iterate over $arr_val. Use in_array() instead.

$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') 
            ");
        }


}
Sign up to request clarification or add additional context in comments.

3 Comments

I also think $key2[$value] is wrong in your code. Instead, use $pecah_arr[$key2] in if and else
Hi @Rachmad..Can you please accept the answer if it helped you?
@Shuci Sethi, ok thanks I just solved my problem ,thanks for your help..
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
}

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.