ฉันสับสนเกี่ยวกับค่าเริ่มต้นสำหรับฟังก์ชั่น PHP ว่าฉันมีฟังก์ชั่นเช่นนี้:
function foo($blah, $x = "some value", $y = "some other value") {
// code here!
}
ถ้าฉันต้องการใช้อาร์กิวเมนต์เริ่มต้นสำหรับ $ x และตั้งค่าอาร์กิวเมนต์อื่นสำหรับ $ y
ฉันกำลังทดลองกับวิธีที่แตกต่างกันและฉันก็สับสนมากขึ้น ตัวอย่างเช่นฉันลองสองสิ่งนี้:
foo("blah", null, "test");
foo("blah", "", "test");
แต่ทั้งสองอย่างนั้นไม่ส่งผลให้เกิดอาร์กิวเมนต์เริ่มต้นที่เหมาะสมสำหรับ $ x ฉันได้ลองตั้งชื่อตัวแปรแล้ว
foo("blah", $x, $y = "test");
ฉันคาดหวังอย่างเต็มที่ว่าสิ่งนี้จะทำงาน แต่มันไม่ทำงานอย่างที่ฉันคาดไว้เลย ดูเหมือนว่าไม่ว่าฉันจะทำอะไรฉันจะต้องพิมพ์ท้ายด้วยการโต้เถียงเริ่มต้นทุกครั้งที่ฉันเรียกใช้ฟังก์ชัน และฉันต้องคิดถึงบางสิ่งที่ชัดเจน
foo("blah", , "test");
?