3,406   4 ตัดข้อมูลที่ซ้ำกันใน array ยังไงครับ ขอแนวทางหน่อยครับ



dekdoy


พลังงานการช่วยเหลือ
( Level 1 )


คะแนนขอบคุณจากสมาชิก
( 1 )


ตอบกระทู้ ( 5 )
เขียนบทความ ( 0 )

ตามหัวข้อเลยครับ

ข้อมูลตัวอย่าง
["one", "two", "one", "three", "four", "two", "one"]

ผลลัพธ์ที่ต้องการ

["three", "four"]

 

ความคิดเห็นที่ 1
อ้างอิงความเห็น


ipromise


พลังงานการช่วยเหลือ
( Level 1 )


คะแนนขอบคุณจากสมาชิก
( 5 )


ตอบกระทู้ ( 5 )
เขียนบทความ ( 0 )

*** จัดไปไฟกระพริบคับ ***

จากข้างต้นข้อมูลที่ input คือ
$input_array = array("one", "two", "one", "three", "four", "two", "one");​


จากนั้น เพื่อความสวยงาม ให้สร้าง function ที่จะรับค่า input มาหา result
function GetValueUnique($input_array)
{
    $output_array = array();

    foreach (array_count_values($input_array) as $key => $value)
    {
        if($value==1)
            array_push($output_array, $key);
    }
    
    return $output_array;
}​
เอ๊ะ! ทำไมเราต้องสร้าง function => คำตอบ คือ ถ้ามี input ที่อื่นเราไม่ต้องเขียน logic ซ้ำ คับ reuse function ได้เลย


จากการรวม code
<?php
    $input_array = array("one", "two", "one", "three", "four", "two", "one");

    function GetValueUnique($input_array)
    {
        $output_array = array();

        foreach (array_count_values($input_array) as $key => $value) {
            if($value==1)
                array_push($output_array, $key);
        }

        return $output_array;
    }

    echo "input_array<pre>";
    print_r($input_array);
    echo "</pre>";

    echo "output_array<pre>";
    print_r(GetValueUnique($input_array));
    echo "</pre>";​
?>

ผลลัพธ์ที่ได้


ปล.ผิดผลาดอย่างไรขอโทษด้วยคับ
ความคิดเห็นที่ 2
อ้างอิงความเห็น


dekdoy


พลังงานการช่วยเหลือ
( Level 1 )


คะแนนขอบคุณจากสมาชิก
( 1 )


ตอบกระทู้ ( 5 )
เขียนบทความ ( 0 )

อ้างอิงจากความเห็นที่ 1


ขอบคุณครับ หามาตั้งนาน แล้วถ้าจะเอาค่าไปใช้ต่อ ก็คือ ลูป ไปใช้ได้เลยหรอ
ความคิดเห็นที่ 3
อ้างอิงความเห็น


ipromise


พลังงานการช่วยเหลือ
( Level 1 )


คะแนนขอบคุณจากสมาชิก
( 5 )


ตอบกระทู้ ( 5 )
เขียนบทความ ( 0 )

สามารถใช้ function เดิม reuse ใหม่ได้คับ
$input_array = array('1','2','1');
$input1_array = array('A','A','B');

GetValueUnique($input_array);

GetValueUnique($input1_array);​

ปรับแต่งเพิ่มเติมได้คับ logic ภายใน function ถ้ามีเงื่อนไขอื่นๆ ก็แก้ไขตามต้องการเลยคับ

ความคิดเห็นที่ 4
อ้างอิงความเห็น


dekdoy


พลังงานการช่วยเหลือ
( Level 1 )


คะแนนขอบคุณจากสมาชิก
( 1 )


ตอบกระทู้ ( 5 )
เขียนบทความ ( 0 )

ขอบคุณครับ

แสดงความเห็น

อัพโหลดรูปภาพ..คลิก *** เพื่อความปลอดภัยในด้านสิทธิ ไม่อนุญาติให้นำลิ้งรูปภาพจากที่อื่นมาแปะ ถ้าพบเจอ ลบกระทู้ ทันที ***

Back to Top