ข้อผิดพลาดดัชนีที่ไม่ได้กำหนดใน PHP คืออะไรและจะแก้ไขได้อย่างไร

Khx Phid Phlad Dachni Thi Mi Di Kahnd Ni Php Khux Xari Laea Ca Kaekhi Di Xyangri



เมื่อทำงานกับ PHP เป็นเรื่องปกติที่จะเจอ “ ดัชนีที่ไม่ได้กำหนด ' ข้อผิดพลาด. ข้อผิดพลาดนี้เกิดขึ้นเมื่อคุณพยายามเข้าถึงองค์ประกอบหรือตัวแปรอาร์เรย์โดยใช้ดัชนีที่ไม่มีอยู่ ซึ่งนำไปสู่ผลลัพธ์ที่ไม่คาดคิดหรือโปรแกรมหยุดทำงาน

ในบทความนี้ เราจะอธิบายรายละเอียดว่า “ ดัชนีที่ไม่ได้กำหนด ” ข้อผิดพลาดคือสาเหตุที่เป็นไปได้และวิธีแก้ไข







ข้อผิดพลาดดัชนีที่ไม่ได้กำหนดใน PHP

หนึ่ง ' ดัชนีที่ไม่ได้กำหนด ” ตามที่กล่าวมาแล้วคือข้อผิดพลาดที่เกิดขึ้นเมื่อผู้ใช้พยายามเข้าถึงองค์ประกอบหรือตัวแปรในอาร์เรย์โดยใช้ดัชนีที่ไม่ได้กำหนดไว้ในรหัส





สาเหตุของข้อผิดพลาดดัชนีที่ไม่ได้กำหนดใน PHP

มีสาเหตุที่เป็นไปได้หลายประการสำหรับข้อผิดพลาดนี้:





  • ชื่อดัชนีสะกดผิด
  • การเข้าถึงดัชนีที่ไม่มีอยู่
  • ไม่ได้ตั้งค่าดัชนี
  • ไม่มีคีย์อาร์เรย์

วิธีแก้ไขข้อผิดพลาดดัชนีที่ไม่ได้กำหนดใน PHP

เพื่อแก้ไขข้อผิดพลาดนี้ใน PHP ผู้ใช้สามารถใช้สามวิธีต่อไปนี้:

1: ฟังก์ชัน isset()

เดอะ isset() ฟังก์ชันเป็นฟังก์ชันในตัวใน PHP ที่ให้คุณตรวจสอบการมีอยู่ของตัวแปรหรือดัชนีในอาร์เรย์ มันกลับมา จริง ถ้ามีตัวแปรหรือดัชนีอยู่ในอาร์เรย์ และเป็นเท็จในอีกกรณีหนึ่ง หากต้องการแก้ไข ข้อผิดพลาดดัชนีที่ไม่ได้กำหนด ใน PHP คุณสามารถใช้ฟังก์ชันนี้ได้โดยพิจารณาจากโค้ดต่อไปนี้เป็นตัวอย่างที่ใช้ตรวจสอบตัวแปรที่มีอยู่ในโปรแกรม





$มายอาร์เรย์ = อาร์เรย์ ( 'ดัชนี 1' => 'ค่า 1' , 'ดัชนี2' => 'ค่า 2' , 'ดัชนี 3' => 'ค่า 3' ) ;

ถ้า ( ตั้งค่า ( $มายอาร์เรย์ [ 'ดัชนี' ] ) ) {

เสียงสะท้อน $มายอาร์เรย์ [ 'ดัชนี' ] ;

} อื่น {

เสียงสะท้อน 'ไม่พบดัชนีในอาร์เรย์' ;

}

?>

รหัสข้างต้นใช้ isset() ฟังก์ชั่นเพื่อตรวจสอบว่า ' ดัชนี ‘ คีย์มีอยู่ใน $myarray อาร์เรย์ ถ้าเป็นเช่นนั้น เราสามารถเข้าถึงค่าของมันได้อย่างปลอดภัยโดยใช้ $myarray['ดัชนี'] โดยไม่ให้เกิดข้อผิดพลาด มิฉะนั้น เราจะได้รับข้อความระบุว่า ไม่พบดัชนี ในอาร์เรย์ ตั้งแต่ข้างต้น รหัส ไม่มีรหัสดัชนี รหัสจะแสดงผลลัพธ์ “ ไม่พบดัชนีในอาร์เรย์ '.

2: ฟังก์ชัน array_key_exists()

นี่เป็นอีกฟังก์ชั่นที่มีประโยชน์ใน PHP ที่ให้คุณตรวจสอบดัชนีในอาร์เรย์ ทำงานคล้ายกับฟังก์ชันข้างต้นโดยคืนค่าจริงหากมีดัชนีอยู่ในอาร์เรย์ มิฉะนั้น จะแสดงผลดัชนีไม่พบข้อผิดพลาด

ตัวอย่างด้านล่างแสดงการทำงานของฟังก์ชันนี้ใน PHP



$มายอาร์เรย์ = อาร์เรย์ ( 'ดัชนี 1' => 'ค่า 1' , 'ดัชนี2' => 'ค่า 2' , 'ดัชนี 3' => 'ค่า 3' ) ;

ถ้า ( array_key_exists ( 'ดัชนี' , $มายอาร์เรย์ ) ) {

เสียงสะท้อน $มายอาร์เรย์ [ 'ดัชนี' ] ;

} อื่น {

เสียงสะท้อน 'ไม่พบดัชนีในอาร์เรย์' ;

}

?>

รหัสข้างต้นใช้ array_key_exists() ฟังก์ชั่นเพื่อตรวจสอบว่า ' ดัชนี ‘ คีย์มีอยู่ใน $myarray อาร์เรย์ ถ้าเป็นเช่นนั้น เราสามารถเข้าถึงค่าของมันได้อย่างปลอดภัยโดยใช้ $myarray['ดัชนี'] โดยไม่ให้เกิดข้อผิดพลาด

ตั้งแต่รหัสข้างต้น ดัชนี คีย์ไม่พร้อมใช้งาน รหัสจะแสดงผลลัพธ์ “ ไม่พบดัชนีในอาร์เรย์ '.

3: การใช้ตัวดำเนินการการรวมศูนย์เป็นโมฆะ

เดอะ ตัวดำเนินการรวมค่าว่าง (??) เป็นอีกวิธีที่มีประโยชน์ในการตรวจสอบการมีอยู่ของดัชนีในอาร์เรย์ เนื่องจากจะช่วยคุณแก้ไขข้อผิดพลาดของดัชนีที่ไม่ได้กำหนดในโค้ด PHP ของคุณ พิจารณารหัสที่ระบุด้านล่างเพื่อเรียนรู้วิธีใช้ ตัวดำเนินการรวมค่าว่างใน PHP



$มายอาร์เรย์ = อาร์เรย์ ( 'ดัชนี 1' => 'ค่า 1' , 'ดัชนี2' => 'ค่า 2' , 'ดัชนี 3' => 'ค่า 3' ) ;

เสียงสะท้อน $มายอาร์เรย์ [ 'ดัชนี' ] ?? 'ไม่พบดัชนีในอาร์เรย์' ;

?>

รหัสข้างต้นใช้ ตัวดำเนินการรวมค่าว่าง (??) เพื่อตรวจสอบคีย์ดัชนีที่มีอยู่ใน $myarray อาร์เรย์ . ถ้าเป็นเช่นนั้นเราจะได้ค่าที่คอนโซล อย่างไรก็ตาม ถ้าดัชนีไม่มีอยู่ ก็จะส่งกลับค่า “ ไม่พบดัชนีในอาร์เรย์ ” เอาต์พุตที่คอนโซล

บทสรุป

ดัชนีที่ไม่ได้กำหนด ” เป็นข้อผิดพลาดทั่วไปใน PHP ที่เกิดขึ้นเมื่อคุณพยายามเข้าถึงดัชนีอาร์เรย์ที่ไม่มีอยู่ ชื่อดัชนีที่สะกดผิด ดัชนีที่ไม่มีอยู่ หรือค่าดัชนีที่ไม่ได้ตั้งค่าอาจทำให้เกิดข้อผิดพลาดประเภทนี้ได้ ในการแก้ไขคุณสามารถใช้ isset(), array_key_exists() หรือตัวดำเนินการรวมศูนย์ (??) ทำตามคำแนะนำที่ให้ไว้ด้านบนเพื่อเรียนรู้เกี่ยวกับวิธีการเหล่านี้โดยละเอียด