การดำเนินการกับตัวแปร PHP (ตัวดำเนินการ)
มีกลุ่มต่างๆให้นำไปปฏิบัติ
ตัวดำเนินการคือสิ่งที่ประกอบด้วยค่าหนึ่งค่าขึ้นไป (นิพจน์ในศัพท์แสงการเขียนโปรแกรม) ที่สามารถประเมินเป็นค่าใหม่ได้ (ดังนั้นโครงสร้างทั้งหมดจึงถือเป็นนิพจน์ได้) โดยเป็นไปตามฟังก์ชันนั้นหรือโครงสร้างอื่นใดที่ส่งคืนค่า (ตัวอย่างเช่น พิมพ์()) เป็นตัวดำเนินการ ซึ่งแตกต่างจากโครงสร้างภาษาอื่นๆ ทั้งหมด (เช่น เสียงสะท้อน()) ซึ่งไม่ส่งคืนอะไรเลย
การดำเนินการทางคณิตศาสตร์ใน PHP
จำพื้นฐานของคณิตศาสตร์ของโรงเรียนได้ไหม? ข้อความด้านล่างทำงานในลักษณะเดียวกัน
ตัวดำเนินการหาร ("/") จะส่งกลับประเภทจริงเสมอ แม้ว่าทั้งสองค่าจะเป็นจำนวนเต็ม (หรือสตริงที่แปลงเป็นจำนวนเต็ม) มิฉะนั้นผลลัพธ์จะเป็นเศษส่วน
การดำเนินการคำนวณเศษที่เหลือ” % " ใช้ได้กับจำนวนเต็มเท่านั้น ดังนั้นการใช้กับเศษส่วนอาจให้ผลลัพธ์ที่ไม่พึงประสงค์
สามารถใช้วงเล็บได้ ลำดับความสำคัญของการดำเนินการทางคณิตศาสตร์บางอย่างเหนือสิ่งอื่นและการเปลี่ยนแปลงลำดับความสำคัญเมื่อใช้วงเล็บในนิพจน์ทางคณิตศาสตร์เป็นไปตามกฎปกติของคณิตศาสตร์
การดำเนินการเพิ่มและลด
PHP เช่นเดียวกับ C รองรับการเพิ่มและลดส่วนนำหน้าและ postfix
ตัวดำเนินการเพิ่มและลด Postfix
เช่นเดียวกับในภาษา C ตัวดำเนินการเหล่านี้จะเพิ่มหรือลดค่าของตัวแปร และในนิพจน์จะส่งกลับค่าของตัวแปร $กก่อนการเปลี่ยนแปลง ตัวอย่างเช่น:
$a=10;
$ข=$a++;
เสียงก้อง "a=$a, b=$b"; // พิมพ์ a=11, b=10
อย่างที่คุณเห็น อันดับแรกคือตัวแปร $ขค่าที่กำหนดให้กับตัวแปร $กและหลังจากนั้นอันสุดท้ายก็เพิ่มขึ้น อย่างไรก็ตามนิพจน์ที่มีค่าถูกกำหนดให้กับตัวแปร $ขอาจยากกว่า - ไม่ว่าในกรณีใดให้เพิ่มขึ้น $กจะเกิดขึ้นหลังจากคำนวณแล้วเท่านั้น
ตัวดำเนินการเพิ่มและลดคำนำหน้า
นอกจากนี้ยังมีตัวดำเนินการเพิ่มและลดซึ่งระบุไว้แทนที่จะอยู่หลังชื่อตัวแปร ดังนั้นจะส่งคืนค่าของตัวแปรหลังการเปลี่ยนแปลง ตัวอย่าง:
$a=10;
$ข=--$ก;
เสียงก้อง "a=$a, b=$b"; // พิมพ์ a=9, b=9
การดำเนินการเพิ่มและลดค่าถูกนำมาใช้บ่อยมากในทางปฏิบัติ เช่น เกิดขึ้นในเกือบทุกรอบ สำหรับ .
เสียงสะท้อน "การเพิ่มขึ้นภายหลัง
"
;
$a = 5 ;
echo "ต้องเป็น 5: " . $a++ . -
\n" ;
\n" ;
เอคโค่ "เพิ่มคำนำหน้า
"
;
$a = 5 ;
echo "ต้องเป็น 6: " . ++ $ก. -
\n" ;
echo "ต้องเป็น 6: " . $ก. -
\n" ;
เอคโค่ "การลดลงภายหลัง
"
;
$a = 5 ;
echo "ต้องเป็น 5: " . $เอ-- . -
\n" ;
\n" ;
เอคโค่ "คำนำหน้าลดลง
"
;
$a = 5 ;
echo "ต้องเป็น 4: " . -- $ก. -
\n" ;
echo "ต้องเป็น 4: " . $ก. -
\n" ;
?>
การดำเนินการสตริง
PHP มีโอเปอเรเตอร์สองตัวสำหรับการทำงานกับสตริง ตัวแรกคือตัวดำเนินการต่อข้อมูล (".") ซึ่งส่งคืนการต่อข้อมูลของอาร์กิวเมนต์ด้านซ้ายและขวา ประการที่สองคือตัวดำเนินการมอบหมายที่มีการต่อข้อมูลซึ่งต่อท้ายอาร์กิวเมนต์ที่ถูกต้องทางด้านซ้าย เรามายกตัวอย่างเฉพาะ:
$a = "สวัสดี" ;
$ข = $a "โลก!" - // $b มีสตริง "Hello World!"
$a = "สวัสดี" ;
$a .= "โลก!" - // $a มีสตริง "Hello World!"
?>
การดำเนินการระดับบิต
การดำเนินการเหล่านี้ได้รับการออกแบบเพื่อดำเนินการ (ตั้งค่า/ยกเลิกการตั้งค่า/ตรวจสอบ) กลุ่มของบิตในตัวแปรทั้งหมด บิตของจำนวนเต็มนั้นไม่มีอะไรมากไปกว่าตัวเลขแต่ละตัวที่มีจำนวนเดียวกันซึ่งเขียนในระบบเลขฐานสอง ตัวอย่างเช่น ในไบนารี่ ตัวเลข 12 จะมีลักษณะเป็น 1100 และ 2 จะมีลักษณะเป็น 10 ดังนั้นนิพจน์ 12|2
จะส่งคืนหมายเลข 14 ให้เรา (1110 ในรูปแบบไบนารี) หากตัวแปรไม่ใช่จำนวนเต็ม แสดงว่าตัวแปรนั้นไม่ใช่จำนวนเต็ม
ปัดเศษครั้งแรก จากนั้นจึงใช้ตัวดำเนินการต่อไปนี้
ในการแทนตัวเลขหนึ่งตัว จะใช้ 32 บิต:
- 0000 0000 0000 0000 0000 0000 0000 0000 เป็นศูนย์;
- 0000 0000 0000 0000 0000 0000 0000 0001 คือ 1;
- 0000 0000 0000 0000 0000 0000 0000 0010 คือ 2;
- 0000 0000 0000 0000 0000 0000 0000 0011 คือ 3;
- 0000 0000 0000 0000 0000 0000 0000 0100 คือ 4;
- 0000 0000 0000 0000 0000 0000 0000 0101 คือ 5;
- 0000 0000 0000 0000 0000 0000 0000 1111 คือ 15;
ตัวดำเนินการ Bitwise:
ตัวอย่าง | ชื่อ | ผลลัพธ์ |
---|---|---|
$a & $b | บิตไวซ์ "และ" | เฉพาะบิตที่ตั้งค่าไว้ในทั้ง $a และ $b เท่านั้นที่ถูกตั้งค่า |
$a | $ข | บิตไวซ์ "หรือ" | บิตเหล่านั้นที่ถูกตั้งค่าเป็น $a หรือ $b จะถูกตั้งค่า |
$a^$b | พิเศษหรือ | เฉพาะบิตที่ตั้งค่าไว้เฉพาะใน $a หรือเฉพาะใน $b เท่านั้นที่ถูกตั้งค่า |
~$ก | การปฏิเสธ | บิตเหล่านั้นที่ไม่ได้ตั้งค่าใน $a จะถูกตั้งค่า และในทางกลับกัน |
$ก<< $b | เลื่อนไปทางซ้าย | บิตของตัวแปร $a ทั้งหมดถูกเลื่อนตำแหน่ง $b ไปทางซ้าย (แต่ละตำแหน่งหมายถึง "คูณด้วย 2") |
$ก >> $ข | เลื่อนไปทางขวา | บิตของตัวแปร $a ทั้งหมดจะถูกเลื่อนตำแหน่ง $b ไปทางขวา (แต่ละตำแหน่งหมายถึง "หารด้วย 2") |
การดำเนินการเปรียบเทียบ
ตัวดำเนินการเปรียบเทียบ ดังที่ชื่อแนะนำ ช่วยให้คุณสามารถเปรียบเทียบค่าสองค่าได้
การดำเนินการเหล่านี้เป็นการดำเนินการที่ไม่เหมือนใครในแบบของตัวเอง เนื่องจากไม่ว่าจะโต้แย้งประเภทใดก็ตาม การดำเนินการเหล่านี้จะส่งคืนหนึ่งในสองสิ่งเสมอ: เท็จหรือ จริง- การดำเนินการเปรียบเทียบช่วยให้คุณสามารถเปรียบเทียบสองค่าระหว่างกันได้ และหากเงื่อนไขเป็นจริง ก็จะส่งคืน จริงและถ้าไม่- เท็จ.
PHP อนุญาตให้เปรียบเทียบตัวแปรสเกลาร์เท่านั้น ไม่สามารถเปรียบเทียบอาร์เรย์และวัตถุใน PHP ได้ ไม่สามารถเปรียบเทียบเพื่อความเท่าเทียมกันได้ (โดยใช้ตัวดำเนินการ ==) แต่ PHP จะไม่ออกคำเตือนเมื่อดำเนินการดังกล่าว เคยสงสัยมาก่อนว่าเหตุใดจึงมีอาร์เรย์สองตัวที่แตกต่างกันโดยสิ้นเชิงเมื่อเปรียบเทียบการใช้งาน == จู่ๆ ก็กลายเป็นสิ่งเดียวกัน โปรดจำไว้ว่าก่อนที่จะเปรียบเทียบตัวถูกดำเนินการทั้งสองจะถูกแปลงเป็นคำ อาร์เรย์ซึ่งจะถูกเปรียบเทียบแล้ว
ดูการเปรียบเทียบอาร์เรย์สำหรับรายละเอียด
ตัวดำเนินการเปรียบเทียบ:
ตัวอย่าง | ชื่อ | ผลลัพธ์ |
---|---|---|
$a == $ข | เท่ากับ | จริงถ้า $a เท่ากับ $b |
$a === $b | เท่าเทียมกัน | จริงถ้า $a เท่ากับ $b และมีประเภทเดียวกัน (เพิ่มใน PHP 4) |
$a != $b | ไม่เท่ากัน | จริงถ้า $a ไม่เท่ากับ $b |
$ก<>$ข | ไม่เท่ากัน | จริงถ้า $a ไม่เท่ากับ $b |
$a !== $b | เหมือนกันไม่เท่ากัน | จริงถ้า $a ไม่เท่ากับ $b หรือเป็นประเภทที่แตกต่างกัน (เพิ่มใน PHP 4) |
$ก< $b | น้อย | จริงถ้า $a น้อยกว่า $b อย่างเคร่งครัด |
$a > $b | มากกว่า | จริงถ้า $a มากกว่า $b อย่างเคร่งครัด |
$ก<= $b | น้อยกว่าหรือเท่ากับ | จริงถ้า $a น้อยกว่าหรือเท่ากับ $b |
$a >= $b | มากกว่าหรือเท่ากับ | จริงถ้า $a มากกว่าหรือเท่ากับ $b |
การดำเนินการเชิงตรรกะ
ตัวดำเนินการเชิงตรรกะได้รับการออกแบบมาโดยเฉพาะสำหรับการทำงานกับนิพจน์บูลีนและส่งคืนด้วย เท็จหรือ จริง.
นี่คือตารางตัวดำเนินการเชิงตรรกะ PHP:
ควรสังเกตว่าการประเมินนิพจน์เชิงตรรกะที่มีตัวดำเนินการดังกล่าวจะดำเนินการจากซ้ายไปขวาเสมอ และหากผลลัพธ์ชัดเจนอยู่แล้ว (เช่น เท็จ&&บางสิ่งบางอย่างให้เสมอ เท็จ) จากนั้นการคำนวณจะสิ้นสุดลง แม้ว่านิพจน์จะมีการเรียกใช้ฟังก์ชันก็ตาม ตัวอย่างเช่น ในตัวดำเนินการ $logic = 0&&(time()>100); ฟังก์ชั่นมาตรฐาน เวลา()จะไม่มีวันถูกเรียก
ระวังการดำเนินการเชิงตรรกะ - อย่าลืมเกี่ยวกับการเพิ่มอักขระเป็นสองเท่า โปรดทราบว่าตัวอย่างเช่น | และ || - โอเปอเรเตอร์สองตัวที่แตกต่างกันโดยสิ้นเชิง โดยตัวหนึ่งอาจส่งคืนตัวเลขใดๆ ก็ได้ และตัวที่สอง - เท่านั้น เท็จและ จริง.
ตัวดำเนินการเพิ่มขึ้น (++) และลดลง (--) ไม่สามารถใช้ได้กับตัวแปรบูลีน
ตัวดำเนินการสมมูล
ใน PHP เริ่มต้นจาก PHP4 จะมีตัวดำเนินการเปรียบเทียบที่เหมือนกัน - เครื่องหมายเท่ากับสามเท่า ===
,
หรือเจ้าหน้าที่ตรวจสอบ PHP ค่อนข้างทนต่อการแปลงสตริงเป็นตัวเลขโดยปริยาย และในทางกลับกัน
ตัวอย่างเช่นโค้ดต่อไปนี้จะพิมพ์ว่าค่าของตัวแปรเท่ากัน:
$a=10;
$b="10";
และนี่ถึงแม้จะมีตัวแปรก็ตาม $กหมายถึงตัวเลขและ $ข- เส้น. ตอนนี้เรามาดูตัวอย่างที่แตกต่างออกไปเล็กน้อย:
$a=0; // ศูนย์
$ข = ""; //สตริงว่าง
if($a==$b) echo "a และ b เท่ากัน"; // พิมพ์ "a และ b เท่ากัน"
แม้ว่า $กและ $ขไม่เท่ากันอย่างชัดเจนแม้ในความหมายปกติของคำสคริปต์จะประกาศว่าเหมือนกัน ทำไมสิ่งนี้ถึงเกิดขึ้น? ประเด็นก็คือ หากหนึ่งในตัวถูกดำเนินการของตัวดำเนินการเชิงตรรกะสามารถตีความได้ว่าเป็นตัวเลข ตัวถูกดำเนินการทั้งสองตัวจะถือเป็นตัวเลข ในกรณีนี้ บรรทัดว่างจะกลายเป็น 0
ซึ่งจะถูกเปรียบเทียบกับศูนย์ จึงไม่น่าแปลกใจที่ผู้ปฏิบัติงาน เสียงสะท้อนทำงาน
ปัญหาได้รับการแก้ไขโดยตัวดำเนินการสมมูล ===
(ความเท่าเทียมกันสามเท่า) ไม่เพียงแต่เปรียบเทียบสองสำนวนเท่านั้น แต่ยังเปรียบเทียบประเภทของสำนวนด้วย ลองเขียนตัวอย่างของเราใหม่โดยใช้โอเปอเรเตอร์นี้
การดำเนินการทางคณิตศาสตร์ขั้นพื้นฐานทั้งหมดมีอยู่ใน PHP ทั้งจำนวนเต็มและจำนวนจริงสามารถใช้เป็นตัวถูกดำเนินการได้
ผู้ดำเนินการ | เข้าสู่ระบบ | คำอธิบาย |
---|---|---|
ส่วนที่เพิ่มเข้าไป | + | การบวกสองค่า |
การลบ | - | การลบค่าหนึ่งจากอีกค่าหนึ่ง |
การคูณ | * | การคูณสองค่า |
แผนก | / | การแบ่งค่าหนึ่งด้วยอีกค่าหนึ่ง |
รับส่วนที่เหลือของการแบ่ง | % | การหารค่าหนึ่งด้วยอีกค่าหนึ่งและส่งคืนค่าที่เหลือ (การหารแบบโมดูโล) |
เพิ่มขึ้น | ++ | ชวเลขเพื่อเพิ่มจำนวนทีละหนึ่ง |
ลดลง | -- | ชวเลขสำหรับการลดจำนวนทีละหนึ่ง |
การปฏิเสธแบบเอกนารี | - | การเปลี่ยนจำนวนบวกให้เป็นค่าลบ หรือการเปลี่ยนจำนวนลบให้เป็นค่าบวก |
ตัวดำเนินการลบ คูณ หาร โมดูโล และบวก
ตัวดำเนินการลบ การคูณ การหาร โมดูโล และการบวก จะใช้ในลักษณะเดียวกับในคณิตศาสตร์ ที่นี่ควรให้ความสนใจกับตัวดำเนินการแผนกและโมดูโล
ตัวดำเนินการหาร (" / ") ส่งคืนตัวเลขทศนิยม เว้นแต่ทั้งสองค่าจะเป็นจำนวนเต็ม (หรือสตริงที่แปลงเป็นจำนวนเต็ม) ซึ่งหารด้วยจำนวนเต็ม ซึ่งในกรณีนี้จะส่งกลับค่าจำนวนเต็ม
ผลลัพธ์2 = $ผลลัพธ์2
"; echo "result3 = $result3
result4 = $result4"; ?>
ในการหารแบบโมดูโล ตัวถูกดำเนินการจะถูกแปลงเป็นจำนวนเต็ม (โดยเอาส่วนที่เป็นเศษส่วนออก) ก่อนที่การดำเนินการจะเริ่มต้น ผลลัพธ์ของการดำเนินการหารส่วนที่เหลือ % จะมีเครื่องหมายเดียวกับเงินปันผล:
การปฏิเสธแบบเอกนารี
ตัวดำเนินการปฏิเสธเอกนารีจะแสดงด้วยเครื่องหมาย "-" และจะกลับความหมายของตัวถูกดำเนินการเพียงตัวเดียว:
ในกรณีนี้ วงเล็บไม่จำเป็นเนื่องจากการปฏิเสธแบบเอกภาคมีลำดับความสำคัญสูงสุด แต่จะช่วยจัดระเบียบโค้ดเพื่อให้ชัดเจนว่ากำลังเพิ่มตัวเลข -5 และ 4
เพิ่มขึ้น
ตัวดำเนินการเพิ่มจะแสดงด้วยเครื่องหมาย ++ และสามารถวางไว้ที่ด้านใดด้านหนึ่งของตัวถูกดำเนินการที่ดำเนินการอยู่ โดยจะเพิ่มค่านี้ทีละค่า เช่นเดียวกับการเพิ่มค่าหนึ่งให้กับค่า ผลลัพธ์ที่แท้จริงขึ้นอยู่กับว่ามีการใช้ตัวดำเนินการก่อนหรือหลังตัวถูกดำเนินการที่ใช้ โอเปอเรเตอร์นี้มักใช้กับตัวแปร และบ่อยครั้งที่เหตุการณ์นี้เกิดขึ้นภายในลูป (จะมีการกล่าวถึงลูปในภายหลัง)
รูปแบบคำนำหน้าของการเพิ่มขึ้น
แบบฟอร์มคำนำหน้า- นี่คือเมื่อมีการวางตัวดำเนินการส่วนเพิ่มไว้หน้าตัวถูกดำเนินการ รูปแบบสัญลักษณ์นี้หมายความว่าส่วนเพิ่มจะถูกดำเนินการก่อน: โดยจะเพิ่มค่าของตัวถูกดำเนินการทีละหนึ่ง จากนั้นส่วนที่เหลือของคำสั่งเท่านั้นที่จะถูกดำเนินการ:
รูปแบบการเพิ่มขึ้นภายหลัง
แบบฟอร์มโพสต์ฟิกซ์เขียนแตกต่างออกไปเล็กน้อย - การเพิ่มขึ้นจะอยู่ในกรณีนี้หลังตัวถูกดำเนินการ ในรูปแบบ postfix การใช้ครั้งแรกของตัวถูกดำเนินการจะส่งกลับค่าปัจจุบัน หลังจากนั้นค่าจะเพิ่มขึ้นทีละหนึ่ง:
ลดลง
ตัวดำเนินการลดจะแสดงด้วยเครื่องหมาย -- และไม่เหมือนกับตัวดำเนินการเพิ่ม คือค่าของตัวถูกดำเนินการลดลง แทนที่จะเพิ่ม การลดลงยังอนุญาตให้ใช้คำนำหน้าและสัญกรณ์ postfix:
เท่าที่ฉันเข้าใจ คำอธิบายความสามารถพื้นฐานของ SQL ซึ่งฉันขัดจังหวะหลักสูตรของเราเล็กน้อยเมื่อสองสามบทเรียนที่แล้ว กลับกลายเป็นว่าไม่ฟุ่มเฟือย
วันนี้ฉันอยากจะเบี่ยงเบนไปจาก "หลักสูตรปาร์ตี้" เล็กน้อยอีกครั้งและพูดคุยเกี่ยวกับโครงสร้าง แต่ไม่ใช่ SQL แต่เป็น PHP เอง สิ่งนี้จะช่วยให้คุณอ่านรายการโปรแกรมได้ง่ายขึ้น และฉันจะสามารถเขียนฟังก์ชันถัดไปได้กระชับยิ่งขึ้นโดยไม่ต้องกลัวว่าคุณจะไม่เข้าใจฉัน
อย่าเพิ่งตกใจไป นี่ไม่ได้หมายความว่าฉันจะเขียนทุกอย่างที่ซับซ้อนและคลุมเครือต่อไป ไม่ ไม่มีอะไรแบบนั้น ฉันแค่อยากให้คุณเข้าใจว่า PHP ไม่ใช่ BASIC ซึ่งคุณสามารถเขียนได้เท่าที่คุณเขียนได้เท่านั้น และไม่มีอะไรอื่น พูดแล้วเข้าใจที่เขียนมั้ยคุเรปิน! เข้าใจแล้ว เข้าใจแล้ว...
พบปะ-ช่วง.
จุด "." คุณรู้อยู่แล้วว่ามันเชื่อมสตริงเข้าด้วยกัน เครื่องหมายบวก "+" จะเพิ่มตัวเลข และจุดรวมเส้น
$a1="100";
$a2="200"
จะเกิดอะไรขึ้นถ้าคุณพับ $a1และ $a2- วิธีใส่แบบนี้...
$a1+$a2=300
$a1.$a2="100200"
...และไม่เคยลืมเรื่องนี้เลย
นี่เป็นอีกวิธีหนึ่งในการเขียนการบวก
สมมติว่าเรากำลังเขียนสตริงที่ซับซ้อนจากแฟรกเมนต์ต่างๆ เราสามารถผนวกข้อมูลใหม่ต่อท้ายตัวแปรของเราได้ดังนี้:
สะดวกกว่าใช่ไหม?
เช่นเดียวกับการบวกทางคณิตศาสตร์:
$เอบีซี+=1;
เพิ่ม 1 เข้าไปในเนื้อหาของตัวแปร $เอบีซี.
คุณสามารถเพิ่มได้อย่างไร? โดยปกติแล้วตาม S-shno:
$เอบีซี++;หรือ +$เอบีซี;
สำนวนทั้งสองนี้มักใช้ในโครงสร้างแบบวน และไม่ใช่โดยตัวมันเอง แต่เป็นการแสดงออกที่ซับซ้อนกว่า
ความแตกต่างระหว่างสองนิพจน์นี้คือในกรณีแรก ค่าของตัวแปรจะถูกนำมาพิจารณาในนิพจน์ จากนั้นจึงบวกค่าหนึ่งเข้าไปด้วย และในกรณีที่สอง จะกลับกัน - ประการแรกค่าของตัวแปรคือ เพิ่มขึ้น จากนั้นจะใช้ค่าผลลัพธ์ในนิพจน์ ตัวอย่างจะทำให้ชัดเจน:
$a=1;
เสียงสะท้อน $a++;
เสียงก้อง +$a;
อันดับแรก เสียงสะท้อนจะพิมพ์ “1” ให้พวกเรา แล้วก็พิมพ์อันที่สองออกมาเหรอ..แต่นั่นไม่ถูกต้องนะ! ไม่ 2
มันจะพิมพ์ออกมาและ "3" ทำไม คิดออกเอง
วันนี้ฉันอยากจะแจกแจงโค้ดหนึ่งชิ้นที่เรามักจะใช้ในโปรแกรมของเรา และโดยทั่วไปในโปรแกรมใดก็ตามที่ดึงข้อมูลจากฐานข้อมูล SQL
แน่นอนว่าเรากำลังพูดถึงการรับข้อมูลผ่าน เลือก-ก.
คุณรู้วิธีสืบค้นฐานข้อมูลแล้ว แต่เรายังไม่ได้พูดถึงวิธีแยกวิเคราะห์ข้อมูลที่ได้รับจริงๆ ในขณะเดียวกันก็สามารถทำได้หลายวิธี
เริ่มต้นด้วยตัวอย่าง สมมติว่าเราเลือกชื่อเรื่องของวิดีโอภาพยนตร์ที่ออกในปี 2000 จากฐานข้อมูลเทปวิดีโอ และต้องการพิมพ์ในรูปแบบตาราง (โดยต้องมี ID เทปคาสเซ็ต)
ดังนั้นคุณสามารถจัดเตรียมขั้นตอนเช่นนี้ได้ (คุณจะพบสิ่งที่คล้ายกันในหนังสือเรียนหลายเล่ม):
เราทำการร้องขอไปยังฐานข้อมูล (โดยวิธีการให้ความสนใจกับเงื่อนไขใหม่ในคำขอ: ระหว่างวันที่และวันที่แบบฟอร์มนี้มักใช้เพื่อระบุช่วงวันที่)
เราเริ่มต้นตัวแปรข้อความเพื่อป้อนโค้ด HTML เข้าไปโดยการเพิ่มส่วนแรกของข้อความ - จุดเริ่มต้นของตาราง
จากนั้นเราจะเปิดลูปโดยมีจำนวนการวนซ้ำเท่ากับจำนวนแถวที่ดึงมาจากแบบสอบถาม
ในเนื้อความของลูป เราจะแยกบรรทัดถัดไปจากคำขอของเราไปเป็นตัวแปรอาร์เรย์ $ฟิล์ม- การทำงาน mysql_fetch_arrayจัดเรียงข้อมูลลงใน อาร์เรย์ที่เชื่อมโยงโดยใช้ชื่อฟิลด์จากตารางเป็นคีย์
อาร์เรย์แบบเชื่อมโยงจะเหมือนกับอาร์เรย์ปกติ (มีตัวเลข) โดยจะใช้เฉพาะสตริงอักขระ แทนที่จะเป็นตัวเลข ที่ใช้เป็นชื่อเซลล์ และคุณควรเข้าถึงเซลล์ของอาร์เรย์ดังกล่าว: $abc["first"], $abc["mama"]...
โปรดให้ความสนใจเป็นพิเศษ: คุณไม่สามารถเข้าถึงเซลล์ของอาร์เรย์ที่เชื่อมโยงในสตริงข้อความได้! จำเป็นต้องแบ่งบรรทัดและ "วาง" ค่าโดยใช้จุด (.) ดังที่แสดง
แต่ทั้งหมดนี้มันไม่ยุ่งยากเกินไปเหรอ? ในความคิดของฉันเป็นเช่นนั้นมาก ฉันเสนอให้เขียนทั้งหมดนี้แตกต่างออกไป: ทุกอย่างเหมือนกัน แต่สั้นกว่า