19
อาร์กิวเมนต์ไม่ถูกต้องที่ให้มาสำหรับ foreach()
มันมักจะเกิดขึ้นกับฉันในการจัดการข้อมูลที่สามารถเป็นได้ทั้งอาเรย์หรือตัวแปรโมฆะและฟีดบางอย่างforeachกับข้อมูลเหล่านี้ $values = get_values(); foreach ($values as $value){ ... } เมื่อคุณป้อนข้อมูล foreach ด้วยข้อมูลที่ไม่ใช่อาร์เรย์คุณจะได้รับคำเตือน: คำเตือน: มีการระบุอาร์กิวเมนต์ที่ไม่ถูกต้องสำหรับ foreach () ใน [... ] สมมติว่ามันเป็นไปไม่ได้ที่จะ refactor get_values()ฟังก์ชั่นเพื่อส่งกลับอาร์เรย์เสมอ (ความเข้ากันได้แบบย้อนหลังไม่มีซอร์สโค้ดไม่ว่าด้วยเหตุผลใดก็ตาม) ฉันสงสัยว่าวิธีไหนที่สะอาดและมีประสิทธิภาพที่สุดเพื่อหลีกเลี่ยงคำเตือนเหล่านี้: กำลังส่ง$valuesไปยังอาร์เรย์ กำลังเริ่มต้น$valuesกับอาร์เรย์ ห่อforeachด้วยif อื่น ๆ (โปรดแนะนำ)