ฉันมีสถานการณ์ที่ฉันต้องการรับคีย์ถัดไปที่มีอยู่ในอาร์เรย์ซึ่งเป็น +1 สูงสุด
ตัวอย่างเช่นถ้าอาร์เรย์คือ $ data = ['1' => 'something, '34' => 'something else'] ดังนั้นฉันต้องคำนวณ 35 เพื่อเพิ่มองค์ประกอบใหม่ให้กับอาร์เรย์ที่มีคีย์สูงกว่าใด ๆ ของคนอื่น ๆ ในกรณีของอาร์เรย์ว่างฉันต้องการ 1 เป็นคีย์ที่มีอยู่ถัดไป
นี่คือวิธีแก้ปัญหาที่ได้ผล:
$highest = 0;
foreach($data as $idx=>$dummy)
{
if($idx > $highest)$highest=$idx;
}
$highest++;
มันจะทำงานในทุกกรณีอาร์เรย์ว่างหรือไม่ หากคุณต้องการค้นหาเฉพาะคีย์สูงสุดแทนที่จะเป็นคีย์สูงสุด + 1 ให้ลบบรรทัดสุดท้าย จากนั้นคุณจะได้รับค่าเป็น 0 หากอาร์เรย์ว่างเปล่า