ฉันต้องการใช้การforeach
วนซ้ำกับตัวแปร แต่ตัวแปรนี้สามารถเป็นได้หลายประเภทNULL
เช่น
ดังนั้นก่อนที่จะforeach
ทดสอบ:
if(is_array($var)){
foreach($var as ...
แต่ฉันรู้ว่ามันสามารถเป็นคลาสที่ใช้Iterator
อินเทอร์เฟซได้ บางทีฉันอาจจะตาบอด แต่จะตรวจสอบได้อย่างไรว่าคลาสใช้อินเทอร์เฟซหรือไม่? มีบางอย่างเช่นis_a
ฟังก์ชันหรือinherits
ตัวดำเนินการหรือไม่? ฉันพบว่าclass_implements
ฉันสามารถใช้มันได้ แต่อาจมีบางอย่างที่ง่ายกว่านี้?
ประการที่สองที่สำคัญกว่าคือฉันคิดว่าฟังก์ชันนี้มีอยู่จะเพียงพอที่จะตรวจสอบว่าตัวแปรis_array
หรือ "ใช้Iterator
อินเทอร์เฟซ" หรือไม่หรือฉันควรทดสอบอะไรเพิ่มเติม