PHP ขัดจังหวะลูป วิธีการใช้งาน while และ do- While loop ในขณะที่ไวยากรณ์ใน PHP

อัปเดตครั้งล่าสุด: 11/11/2558

หากต้องการดำเนินการซ้ำใน PHP เช่นเดียวกับในภาษาการเขียนโปรแกรมอื่นๆ จะใช้ลูป PHP มีประเภทของลูปดังต่อไปนี้:

สำหรับวง

for loop มีคำจำกัดความที่เป็นทางการดังต่อไปนี้:

สำหรับ ([เริ่มต้นตัวนับ]; [เงื่อนไข]; [เปลี่ยนตัวนับ]) ( // การกระทำ )

พิจารณามาตรฐานสำหรับการวนซ้ำ:

"; } ?>

ส่วนแรกของการประกาศลูป - $i = 1 - สร้างและเตรียมใช้งานตัวนับ - ตัวแปร $i และก่อนที่ลูปจะถูกดำเนินการ ค่าของมันจะเป็น 1 โดยพื้นฐานแล้ว นี่เหมือนกับการประกาศตัวแปร

ส่วนที่สองคือเงื่อนไขที่ลูปจะถูกดำเนินการ ในกรณีนี้ การวนซ้ำจะทำงานจนกระทั่ง $i ถึง 10

ส่วนที่สามคือการเพิ่มตัวนับทีละตัว ขอย้ำอีกครั้งว่าเราไม่จำเป็นต้องเพิ่มขึ้นทีละหนึ่ง คุณสามารถลดลงได้: $i--

เป็นผลให้บล็อกลูปจะทำงาน 9 ครั้งจนกระทั่งค่าของ $i กลายเป็น 10 และแต่ละครั้งค่านี้จะเพิ่มขึ้น 1 การทำซ้ำแต่ละครั้งของลูปเรียกว่าการวนซ้ำ ดังนั้นในกรณีนี้จะมีการวนซ้ำ 9 ครั้ง

ในขณะที่วนซ้ำ

while loop จะทดสอบความจริงของเงื่อนไขบางอย่าง และหากเงื่อนไขเป็นจริง บล็อกของนิพจน์ loop จะถูกดำเนินการ:

"; $เคาน์เตอร์++; ) ?>

หากมีเพียงหนึ่งคำสั่งในบล็อก while ก็สามารถละเว้นวงเล็บปีกกาของบล็อกได้:

"; ?>

ทำ..ในขณะที่วนซ้ำ

การวนซ้ำ do.. While นั้นคล้ายกับการวนซ้ำ while เพียงแต่ตอนนี้บล็อกวนซ้ำเท่านั้นที่จะถูกดำเนินการ และหลังจากนั้นจะมีการทดสอบเงื่อนไขเท่านั้น นั่นคือ แม้ว่าเงื่อนไขจะเป็นเท็จ บล็อกลูปจะถูกดำเนินการอย่างน้อยหนึ่งครั้ง:

"; $counter++; ) ในขณะที่($counter<10) ?>

ดำเนินการต่อและทำลายคำสั่ง

บางครั้งสถานการณ์เกิดขึ้นเมื่อคุณต้องการออกจากลูปโดยไม่ต้องรอให้เสร็จสิ้น ในกรณีนี้ เราสามารถใช้คำสั่งแบ่งได้:

80) (break; ) echo "กำลังสองของ $i เท่ากับ $result
"; } ?>

และหากทันใดนั้นผลลัพธ์ของการดำเนินการมากกว่า 80 แสดงว่าวงออก

ตัวดำเนินการดำเนินการต่อยังใช้เพื่อควบคุมลูปอีกด้วย มันจะย้ายไปยังการวนซ้ำครั้งถัดไป:

"; } ?>

เมื่อรันโปรแกรม เมื่อค่า $i เท่ากับ 5 การเปลี่ยนแปลงไปสู่การวนซ้ำครั้งถัดไปจะเกิดขึ้น และนิพจน์อื่นๆ ทั้งหมดที่ตามหลังตัวดำเนินการ Continue จะไม่ถูกดำเนินการ

ในบางกรณีจำเป็นต้องรันโค้ดจนกว่าจะได้ผลลัพธ์ตามที่ต้องการ เมื่อต้องการทำเช่นนี้ PHP จัดเตรียมลูป while, for และ foreach

ในขณะที่ไวยากรณ์วนซ้ำใน PHP

ไวยากรณ์ วงจรในขณะที่:

ตัวอย่างการใช้ while loop ใน PHP:

ในตัวอย่าง php while loop ข้างต้น ตัวแปรตัวนับ $i จะถูกเตรียมใช้งานเป็น 0 ก่อน

เงื่อนไขของ while loop คือ $i< 10 . Это означает, что мы проверяем, меньше ли переменная, чем 10.

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

คุณสามารถทำให้ทั้งเงื่อนไขของลูปและเนื้อหาของลูปซับซ้อนได้ตามที่คุณต้องการ ตัวอย่างเช่น ใช้ while ข้างใน while php ให้ใช้ php ในขณะที่วนซ้ำผ่านอาร์เรย์ ( array ) หรือกำหนดตัวแปรตัวนับมากกว่าหนึ่งตัว:

$min) ( echo "count1: $count1; count2: $count2
"; $ counter1 += 2; // นิพจน์ชวเลขสำหรับ $counter1 = $counter1 + 2; $counter2 -= 3; // นิพจน์ชวเลขสำหรับ $count2 = $count2-3; ) ?>

ตัวอย่างนี้กำหนดตัวแปรสองตัว: $ counter 1 และ $ counter 2 ตัวแปรหนึ่งเพิ่มขึ้น 2 และอีกตัวแปรลดลง 3 ในขณะที่ลูปจะทำงานตราบใดที่ตรงตามเงื่อนไขทั้งสอง $ นับ 1< $ max и $ count 2 >$นาที

ผลกระทบของการหยุดและดำเนินการต่อคำหลักแบบวนซ้ำ

โดยใช้คำสั่ง หยุดพักสามารถ ขัดจังหวะการดำเนินการของ while loop in PHP. สมมติว่าเรากำลังมองหาผู้ใช้ที่เฉพาะเจาะจง จากนั้นคุณสามารถผ่านผู้ใช้ทั้งหมดได้ในขณะวนซ้ำ หากเราพบผู้ใช้ที่ถูกต้อง เราจะหยุดการวนซ้ำโดยใช้คีย์เวิร์ด หยุดพัก.

ตัวอย่างง่ายๆ ของการใช้คีย์เวิร์ดแบ่ง:

ในขณะที่ ($นับ< $max) { if ($count == 10) { echo "Останавливаемся на числе 10"; break; } echo "$count,"; $counter += $increment; // увеличивает $count на значение $increment } ?>

โค้ดนี้จะวนซ้ำตัวเลขจากน้อยไปมากจาก 0 ถึง $max = 30 โดยบวกค่า $increation ให้กับตัวแปร $count หรืออีกนัยหนึ่งคือตัวเลข 2 แต่ถ้าตัวแปร $count เท่ากับ 10 โค้ดต่อไปนี้จะ เกิดขึ้น: ออกจากลูป while PHP

คำหลักดำเนินการต่อ ไม่ยุติการวนซ้ำในขณะที่ใน php นั้นสมบูรณ์ แต่เพียงข้ามส่วนที่เหลือของเนื้อหาลูป ตัวอย่างด้านล่างนี้แสดงให้เห็นถึงสิ่งนี้:

ในขณะที่ ($นับ< $max) { $counter += $increment; // увеличивает $payer на $increment if ($count >= 10 && $นับ<= 15) { echo "Число между 10 и 15
"; ดำเนินการต่อ; )

เสียงสะท้อน "$count
"; } ?>

การวนซ้ำนี้เริ่มต้นที่ 0 และเพิ่มตัวนับจนถึง $max ตัวแปร $counter จะถูกเพิ่มค่าตามค่าของตัวแปร $increation เสมอ นั่นคือต้องใช้ค่า 0, 2, 4 เป็นต้น

หากตัวแปร $count มีค่าระหว่าง 10 ถึง 15 ข้อความและคำสั่งจะถูกพิมพ์ลงบนหน้าจอ ดำเนินการต่อจะข้ามนิพจน์อื่นในส่วนเนื้อความของลูป ด้วยเหตุนี้เราจึงเห็นว่าไม่มีเอาต์พุตตัวเลข 10, 12 และ 14

ทำในขณะที่วนซ้ำใน PHP

การปรับเปลี่ยนเล็กน้อย ในขณะที่คือการวนซ้ำแบบ do- while ในกรณีนี้ เงื่อนไขของลูปจะถูกตรวจสอบหลังจากที่ร่างกายได้รับการดำเนินการแล้วเท่านั้น ซึ่งหมายความว่าเนื้อความของลูปจะถูกดำเนินการอย่างน้อยหนึ่งครั้ง

ไวยากรณ์ลูป Do- While:

สมมติว่าเราต้องการสร้างตัวเลขสุ่มซึ่งจะต้องอยู่ระหว่าง 0 ถึง 10 หรือระหว่าง 20 ถึง 30 ตามคำจำกัดความของฟังก์ชัน rand ( $ ต่ำสุด $สูงสุด) คุณสามารถสุ่มสร้างตัวเลขระหว่าง $นาทีและ $สูงสุด:

10 && $สุ่ม< 20) { $random = rand (0, 30); }

echo "ตัวเลขสุ่มของเรา: $random"; -

การใช้ php ลูป ทำในขณะที่คุณสามารถรับค่าของนิพจน์ได้โดยไม่ต้องเริ่มต้นตัวแปร $random เนื้อความของลูปจะถูกดำเนินการก่อนที่จะทดสอบเงื่อนไข จากนั้นตัวอย่างด้านบนจะมีลักษณะดังนี้:

10 && $สุ่ม< 20);

echo "ตัวเลขสุ่มของเรา: $random"; -

สำหรับมือใหม่ การวนซ้ำแบบ do- While อาจทำให้เกิดความสับสนเล็กน้อย หากคุณไม่เข้าใจจุดประสงค์ของมันอย่างถ่องแท้ นั่นก็ไม่ใช่ปัญหา ในทางปฏิบัติไม่ค่อยมีการใช้ลูป Do- While

คำสั่ง Loop ถูกใช้บ่อยมากในภาษาการเขียนโปรแกรมใดๆ ปัญหาเกือบทั้งหมดใช้ลูป ดังนั้นจึงควรให้ความสนใจเป็นพิเศษกับการเรียนรู้พวกมัน PHP มี loop อยู่ 4 ประเภท:

  • ในขณะที่ (ตรวจสอบเงื่อนไขคำนำหน้า);
  • ทำ..ในขณะที่ (ตรวจสอบเงื่อนไขภายหลังการแก้ไข);
  • สำหรับ ;
  • มุ่งหน้า ;

สามลูปแรกคล้ายกับลูปมาตรฐานจากภาษาการเขียนโปรแกรม (C++, Pascal) และลูปสุดท้าย (foreach) คล้ายกับ Perl ลองดูที่ตัวดำเนินการลูปสามตัวแรกแยกกัน และตัวสุดท้ายจะกล่าวถึงในบทเรียนที่แยกจากกัน โปรดทราบว่าแต่ละลูปอนุญาตให้มีลูปแบบซ้อนได้ นั่นคือ ลูปภายในลูป

ในขณะที่คำสั่งวนรอบใน PHP

ตัวดำเนินการลูปที่ค่อนข้างง่ายซึ่งมีไวยากรณ์คล้ายกับในภาษาโปรแกรมอื่นมาก

ในขณะที่ไวยากรณ์ใน PHP:

//อาจมีเงื่อนไขตรรกะที่ซับซ้อน( ตัวดำเนินการ; ) ?>

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

บันทึก: เงื่อนไขอาจประกอบด้วยหลายนิพจน์โดยใช้พีชคณิตของตรรกะ &&, ||, ! ฯลฯ

ควรให้ความสนใจกับความจริงที่ว่าหากมีผู้ปฏิบัติงานอยู่ในสภาพนั้นจะต้องเปลี่ยนพวกเขาไม่ทางใดก็ทางหนึ่งไม่เช่นนั้นการวนซ้ำก็จะเป็นวัฏจักร

นี่เป็นตัวอย่างง่ายๆ ของการใช้ while :

"; $i++; ) ?>

ตัวอย่างข้างต้นจะสร้างผลลัพธ์ต่อไปนี้:

ฉัน = 0
ฉัน = 1
ผม=2
ผม = 3
ผม=4

โปรดทราบว่า $i=5 จะไม่ถูกพิมพ์เพราะว่า i เพิ่มขึ้นที่ส่วนท้ายสุดของลูป ดังนั้นทันทีที่ถึง 5 เงื่อนไขในการเข้าสู่ลูปก็จะไม่เป็นที่พอใจ

แบ่งคำสั่งใน PHP

มีคำสั่งแบ่งพิเศษเพื่อยุติการวนซ้ำทันที โอเปอเรเตอร์นี้มักใช้เพื่อออกจากลูปไม่สิ้นสุดเมื่อเงื่อนไขเป็นจริงเสมอ ตัวอย่างเช่น ตัวอย่างที่อธิบายไว้ข้างต้นสามารถเขียนได้ดังนี้:

//เงื่อนไขเป็นจริงเสมอ( echo "i =".$i."
"; $i++; if($i>=5) แตก; ) ?>

ผลลัพธ์จะเหมือนกับในตัวอย่างก่อนหน้า

คำสั่งดำเนินการต่อใน PHP

โอเปอเรเตอร์ดำเนินการต่อ;

//เงื่อนไขเป็นจริงเสมอ( echo "i =".$i."
ยุติการวนซ้ำปัจจุบันของลูปโดยการย้ายไปยังจุดเริ่มต้น แต่ไม่ได้ยุติการวนซ้ำทั้งหมด ตัวอย่างเช่น:

"; $i++; if($i>=5) break; else Continue; ) ?>

ผลลัพธ์ของตัวอย่างนี้จะเหมือนกับตัวอย่างก่อนหน้า

ตามที่แสดงในทางปฏิบัติ ผู้ปฏิบัติงานยังคงดำเนินต่อไป

"; } และแตก;มักจะช่วยดำเนินการตามวงจรที่ซับซ้อน
"; } ?>

ฉันขอยกตัวอย่างการใช้ while loop อีกตัวอย่างหนึ่ง:

// ผลลัพธ์ของทั้งสองขณะจะแตกต่างกัน // เนื่องจากรูปแบบหลังคำนำหน้าและคำนำหน้า

$i=0; ในขณะที่ (++$i //แบบฟอร์มคำนำหน้า ( echo "i =".$i."

คำสั่ง do... while loop ใน PHP

คำสั่ง do... While นั้นคล้ายคลึงกับคำสั่ง while ทั่วไปมาก ข้อแตกต่างเพียงอย่างเดียวคือเวลาที่ใช้ในการตรวจสอบสภาพ การวนซ้ำ do... While จะถูกดำเนินการอย่างน้อยหนึ่งครั้ง เนื่องจากการตรวจสอบจะเกิดขึ้นที่ส่วนท้ายสุด ไวยากรณ์ do... while คือ:

ลองดูตัวอย่าง:

"; $i++; ) ในขณะที่($i

ผลลัพธ์จะคล้ายกับตัวอย่างแรกที่พิจารณา

เป็นที่น่าสังเกตว่าตัวดำเนินการดำเนินการต่อ

"; } ?>

และแตก;

สามารถใช้ในรอบดังกล่าวได้

สำหรับตัวดำเนินการลูปใน PHP

ไวยากรณ์ของคำสั่ง for เป็นดังนี้:เมื่อเริ่มต้น การเริ่มต้นของตัวแปรจะเกิดขึ้น Usloviya ต้องมีเงื่อนไขการสิ้นสุดการวนซ้ำอย่างน้อยหนึ่งเงื่อนไข Shag มีคำสั่งที่ดำเนินการเมื่อสิ้นสุดการวนซ้ำแต่ละครั้ง ตัวอย่างเช่น:

ผลลัพธ์ของการวนซ้ำนี้จะเหมือนกับตัวอย่างก่อนหน้า

ข้อได้เปรียบที่สำคัญของการใช้ for คือตัวลูปอาจหายไป และการดำเนินการที่จำเป็นทั้งหมดจะดำเนินการในส่วนขนปุย เพื่อความชัดเจน นี่คือตัวอย่าง:

สำหรับการอนุญาตให้ใช้ดำเนินการต่อ

และแตก; -

สุดท้ายนี้ นี่คือตัวอย่างของการสร้างลูปที่เทียบเท่ากันสองแบบ แต่อันหนึ่งมีไว้สำหรับ และอีกอันหนึ่งสำหรับ

เทียบเท่ากับสิ่งต่อไปนี้:

หากภายในสตริงที่อยู่ในเครื่องหมายคำพูดเดี่ยว มีเครื่องหมายแบ็กสแลช "\" อยู่หน้าอักขระอื่น ๆ (นอกเหนือจาก "\" หรือ """) จะถือเป็นอักขระปกติและเอาต์พุตเหมือนกับอักขระอื่นๆ ทั้งหมด ดังนั้น แบ็กสแลช จำเป็นต้องหลีกเลี่ยงเฉพาะในกรณีที่อยู่ท้ายบรรทัด ก่อนเครื่องหมายคำพูดปิด

มีการผสมอักขระหลายตัวใน PHP ที่ขึ้นต้นด้วยอักขระแบ็กสแลช สิ่งเหล่านี้เรียกว่าลำดับหลีก และมีความหมายพิเศษ ซึ่งเราจะพูดถึงในภายหลัง ดังนั้น ตัวแปรและลำดับหลีกสำหรับอักขระพิเศษที่ปรากฏในสตริงที่อยู่ในเครื่องหมายคำพูดเดี่ยวจะไม่ได้รับการประมวลผล ซึ่งต่างจากอีกสองไวยากรณ์อื่นๆ เสียงสะท้อน
“คุณยังสามารถแทรกลงในบรรทัดได้
อักขระขึ้นบรรทัดใหม่ดังนั้น
;
เพราะมันเป็นเรื่องปกติ"
// เอาท์พุต: หากต้องการเอาท์พุต " คุณต้องการ
มีการผสมอักขระหลายตัวใน PHP ที่ขึ้นต้นด้วยอักขระแบ็กสแลช สิ่งเหล่านี้เรียกว่าลำดับหลีก และมีความหมายพิเศษ ซึ่งเราจะพูดถึงในภายหลัง ดังนั้น ตัวแปรและลำดับหลีกสำหรับอักขระพิเศษที่ปรากฏในสตริงที่อยู่ในเครื่องหมายคำพูดเดี่ยวจะไม่ได้รับการประมวลผล ซึ่งต่างจากอีกสองไวยากรณ์อื่นๆ // วาง \ ไว้ข้างหน้า.
"หากต้องการแสดง \" คุณต้องแสดงก่อน ";
"วางเธอ \\"
มีการผสมอักขระหลายตัวใน PHP ที่ขึ้นต้นด้วยอักขระแบ็กสแลช สิ่งเหล่านี้เรียกว่าลำดับหลีก และมีความหมายพิเศษ ซึ่งเราจะพูดถึงในภายหลัง ดังนั้น ตัวแปรและลำดับหลีกสำหรับอักขระพิเศษที่ปรากฏในสตริงที่อยู่ในเครื่องหมายคำพูดเดี่ยวจะไม่ได้รับการประมวลผล ซึ่งต่างจากอีกสองไวยากรณ์อื่นๆ // ผลลัพธ์: คุณต้องการลบ C:\*.* หรือไม่?;
"คุณต้องการลบ C:\\*.* หรือไม่?"
// ผลลัพธ์: สิ่งนี้จะไม่แทรก: \n
มีการผสมอักขระหลายตัวใน PHP ที่ขึ้นต้นด้วยอักขระแบ็กสแลช สิ่งเหล่านี้เรียกว่าลำดับหลีก และมีความหมายพิเศษ ซึ่งเราจะพูดถึงในภายหลัง ดังนั้น ตัวแปรและลำดับหลีกสำหรับอักขระพิเศษที่ปรากฏในสตริงที่อยู่ในเครื่องหมายคำพูดเดี่ยวจะไม่ได้รับการประมวลผล ซึ่งต่างจากอีกสองไวยากรณ์อื่นๆ //ขึ้นบรรทัดใหม่;
"สิ่งนี้จะไม่แทรก:\nขึ้นบรรทัดใหม่"
// ผลลัพธ์: $expand ตัวแปรด้วย
มีการผสมอักขระหลายตัวใน PHP ที่ขึ้นต้นด้วยอักขระแบ็กสแลช สิ่งเหล่านี้เรียกว่าลำดับหลีก และมีความหมายพิเศษ ซึ่งเราจะพูดถึงในภายหลัง ดังนั้น ตัวแปรและลำดับหลีกสำหรับอักขระพิเศษที่ปรากฏในสตริงที่อยู่ในเครื่องหมายคำพูดเดี่ยวจะไม่ได้รับการประมวลผล ซึ่งต่างจากอีกสองไวยากรณ์อื่นๆ // $อย่างใดอย่างหนึ่งไม่สามารถทดแทนได้.
"ตัวแปร $expand ก็เป็น $either เช่นกัน";
?>

"ไม่ทดแทน"

16.1. ตัวอย่าง. การใช้ลำดับหลีก

17. เครื่องหมายคำพูดคู่

หากสตริงอยู่ในเครื่องหมายคำพูดคู่ """ PHP จะจดจำลำดับการหลีกเลี่ยงเพิ่มเติมสำหรับอักขระพิเศษ
บางส่วนแสดงอยู่ในตาราง

โต๊ะ. ลำดับการควบคุม

เราขอย้ำอีกครั้งว่าหากคุณต้องการหลีกเลี่ยงอักขระอื่น แบ็กสแลชจะถูกพิมพ์ด้วยเช่นกัน!

คุณสมบัติที่สำคัญที่สุดของสตริงที่มีเครื่องหมายคำพูดคู่คือการจัดการตัวแปร

เฮริด็อก<<<, после которого идет идентификатор. Заканчивается строка этим же идентификатором. Закрывающий идентификатор должен начинаться в первом столбце строки. Кроме того, идентификатор должен соответствовать тем же правилам именования, что и все остальные метки в PHP: содержать только буквенно-цифровые символы и знак подчеркивания и начинаться не с цифры или знака подчеркивания.

อีกวิธีหนึ่งในการกำหนดสตริงคือการใช้ไวยากรณ์ heredoc ในกรณีนี้ บรรทัดจะต้องขึ้นต้นด้วยอักขระ

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

ตัวแปรภายใน Heredoc ก็ได้รับการประมวลผลเช่นกัน<<$str =
ตัวอย่างของสตริงที่ทอดหลายรายการ
เส้นที่ใช้
ไวยากรณ์นอกรีต
อีโอดี;
// ที่นี่ตัวระบุคือ EOD ด้านล่าง
// ตัวระบุ EOT
$name = "วาสยา" ;<<เสียงสะท้อน
ฉันชื่อ "$name"
// จะพิมพ์ว่า "ฉันชื่อ วาสยา"
?>

ตัวอย่าง. การใช้ไวยากรณ์ heredoc
หมายเหตุ: เพิ่มการรองรับ Heredoc ใน PHP 4

18. พิมพ์อาร์เรย์

อาร์เรย์ใน PHP เป็นแผนที่ที่ได้รับคำสั่งซึ่งเป็นประเภทที่แปลงค่าเป็นคีย์ ประเภทนี้ได้รับการปรับให้เหมาะสมในหลายวิธี ดังนั้นคุณสามารถใช้เป็นอาร์เรย์จริง รายการ (เวกเตอร์) ตารางแฮช (ซึ่งเป็นการนำแผนที่ไปใช้) สแต็ก คิว ฯลฯ เนื่องจากคุณสามารถมีอาร์เรย์ PHP อื่นเป็นค่าได้ คุณจึงสามารถทำได้
นอกจากนี้ยังง่ายต่อการเลียนแบบต้นไม้อีกด้วย

คุณสามารถกำหนดอาร์เรย์โดยใช้โครงสร้าง array() หรือโดยการกำหนดค่าให้กับองค์ประกอบโดยตรง คำนิยาม การใช้
อาร์เรย์() อาร์เรย์ ( => ค่า,
=> ค่า 1, ...)

โครงสร้างภาษา array() ใช้คู่ของค่า key => เป็นพารามิเตอร์ คั่นด้วยเครื่องหมายจุลภาค สัญลักษณ์ => จับคู่ค่ากับคีย์ คีย์อาจเป็นจำนวนเต็มหรือสตริงก็ได้ และค่าอาจเป็นประเภทใดก็ได้ที่มีอยู่ใน PHP คีย์ตัวเลขของอาร์เรย์มักเรียกว่าดัชนี การจัดทำดัชนีอาร์เรย์ใน PHP เริ่มต้นจากศูนย์

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

ดังนั้น การเขียน $a["1"] จึงเทียบเท่ากับการเขียน $a เช่นเดียวกับที่ $a["-1"] เทียบเท่ากับ $a[-1]

$books = array("php" =>
"คู่มือผู้ใช้ PHP"
12 => จริง );
echo $books [ "php" ];
// จะแสดง "คู่มือผู้ใช้ PHP"
echo $books [ 12 ]; //จะส่งออก 1
?>

18.1. ตัวอย่าง. อาร์เรย์ใน PHP

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

// อาร์เรย์ $arr และ $arr1 เทียบเท่ากัน
$arr = array(5 => 43 , 32 , 56 , "b" => 12 );
$arr1 = อาร์เรย์(5 => 43 , 6 => 32 ,
7 => 56 , "ข" => 12 );
?>

18.2. ตัวอย่าง. อาร์เรย์ใน PHP

หากคุณใช้ TRUE หรือ FALSE เป็นคีย์ ค่าของคีย์จะถูกแปลงเป็นจำนวนเต็มประเภทหนึ่งและศูนย์ตามลำดับ หากเราใช้ NULL เราจะได้สตริงว่างแทนคีย์ คุณยังสามารถใช้สตริงว่างเป็นคีย์ได้ แต่จะต้องอยู่ในเครื่องหมายคำพูด ดังนั้นจึงไม่เหมือนกับการใช้วงเล็บเหลี่ยมว่าง อาร์เรย์และวัตถุไม่สามารถใช้เป็นคีย์ได้

ความหมายโดยใช้ไวยากรณ์วงเล็บเหลี่ยม

คุณสามารถสร้างอาร์เรย์ได้โดยเพียงแค่เขียนค่าลงไป ดังที่เราได้กล่าวไปแล้ว ค่าขององค์ประกอบอาร์เรย์สามารถรับได้โดยใช้วงเล็บเหลี่ยม ซึ่งภายในคุณจะต้องระบุคีย์ของมัน เช่น $book["php"] หากคุณระบุคีย์ใหม่และค่าใหม่ เช่น $book["new_key"]="new_value" องค์ประกอบใหม่จะถูกเพิ่มลงในอาร์เรย์ หากเราไม่ระบุคีย์ แต่กำหนดค่า $book="new_value" เท่านั้น องค์ประกอบอาร์เรย์ใหม่จะมีคีย์ตัวเลขที่มากกว่าค่าสูงสุดที่มีอยู่หนึ่งคีย์ หากไม่มีอาร์เรย์ที่เรากำลังเพิ่มค่าเข้าไปก็จะถูกสร้างขึ้น

$books [ "คีย์" ]= ค่า ; // เพิ่มเข้าไปในอาร์เรย์
// $มูลค่าหนังสือ
// ค่าด้วยคีย์
$หนังสือ = value1 ; /* เพิ่มเข้าไปในอาร์เรย์
ค่า มูลค่า1 วินาที
คีย์ 13 เพราะ
คีย์สูงสุด y
พวกเรา 12 คน */
?>

ในการเปลี่ยนองค์ประกอบอาร์เรย์เฉพาะ คุณเพียงแค่ต้องกำหนดค่าใหม่และคีย์ให้กับองค์ประกอบนั้น คุณไม่สามารถเปลี่ยนคีย์ขององค์ประกอบได้ คุณสามารถลบองค์ประกอบได้เท่านั้น (คู่คีย์/ค่า) และเพิ่มองค์ประกอบใหม่ หากต้องการลบองค์ประกอบอาร์เรย์ คุณต้องใช้ฟังก์ชัน unset()

$books = array("php" =>
"คู่มือผู้ใช้ PHP"
12 => จริง );
$หนังสือ=
"หนังสือเกี่ยวกับ Perl" ; // เพิ่มองค์ประกอบ
// พร้อมคีย์ (ดัชนี)
// 13 เทียบเท่ากัน
// $หนังสือ=
// "หนังสือเกี่ยวกับ Perl";
$books["lisp"] =
123456 ; /* นี่เป็นการเพิ่มอันใหม่ให้กับอาร์เรย์