Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

โปรแกรม PHP หาค่าที่ขาดหายจากอาร์เรย์

ใช้ฟังก์ชัน array_diff หาสมาชิกที่ขาดหายจากอาร์เรย์

ตัวอย่าง

<?php
   function absent($my_list)
   {
      $my_array = range(min($my_list), max($my_list));
      return array_diff($my_array, $my_list);
   }
   echo "ค่าที่ขาดจากอาร์เรย์แรกคือ ";
   print_r(absent(array(45, 48, 51, 52, 53, 56)));
   echo "ค่าที่ขาดจากอาร์เรย์ที่สองคือ ";
   print_r(absent(array(99, 101, 104, 105)));
?>

ผลลัพธ์

ค่าที่ขาดจากอาร์เรย์แรกคือ Array ( [1] => 46 [2] => 47 [4] => 49 [5] => 50 [9] => 54 [10] => 55 ) ค่าที่ขาดจากอาร์เรย์ที่สองคือ Array ( [1] => 100 [3] => 102 [4] => 103 )

ฟังก์ชัน absent สร้างอาร์เรย์ครบถ้วนตั้งแต่ค่าต่ำสุดถึงสูงสุดด้วย range แล้วใช้ array_diff เปรียบเทียบกับอาร์เรย์ต้นฉบับ ผลลัพธ์คือค่าที่ขาดหายไป