⊗ppPmSsAr 323 of 447 menu

การบันทึกอาร์เรย์ในเซสชัน PHP

พิจารณารหัสที่เราสร้างไว้ในบทเรียนก่อนหน้านี้:

<?php if (!empty($_GET)) { $_SESSION['num1'] = $_GET['num1']; $_SESSION['num2'] = $_GET['num2']; } ?>

ในความเป็นจริง เราสามารถนำและบันทึกข้อมูลจากฟอร์มทั้งหมดลงใน $_SESSION ทันที:

<?php if (!empty($_GET)) { $_SESSION = $_GET; } ?>

และในไฟล์ test2.php ทำดังนี้:

<?php if (!empty($_SESSION)) { echo array_sum($_SESSION); } ?>

ข้อได้เปรียบของแนวทางนี้คือโค้ดของเราจะทำงานโดยไม่ขึ้นกับจำนวนอินพุตในฟอร์ม

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

ลองทำอีกวิธีหนึ่ง:

<?php if (!empty($_GET)) { $_SESSION['nums'] = $_GET; } ?>

ดังที่คุณเห็น เราไม่ได้บันทึกค่าเดียวลงในตัวแปรเซสชัน แต่บันทึกทั้งอาร์เรย์ ตอนนี้ในไฟล์ test2.php เราสามารถหาผลรวมขององค์ประกอบในอาร์เรย์นี้ได้:

<?php if (!empty($_SESSION)) { echo array_sum($_SESSION['nums']); } ?>

ในหน้าเดียว ใช้ฟอร์มถามผู้ใช้เกี่ยวกับชื่อ, อายุ, เงินเดือน และอย่างอื่นอีกบางอย่าง บันทึกข้อมูลเหล่านี้ลงในตัวแปรเซสชันตัวเดียวในรูปแบบของอาร์เรย์ เมื่อไปยังอีกหน้า ให้วนลูปผ่านข้อมูลที่บันทึกไว้ และแสดงแต่ละองค์ประกอบของอาร์เรย์ในแท็ก li ของตัวเอง ภายในแท็ก ul

ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ