PHP sscanf() ການຄົ້ນຫາ
ຄວາມນຳໃຊ້
ການຄົ້ນຫາວິສະວະກຳ:
<?php $str = "age:30 weight:60kg"; sscanf($str,"age:%d weight:%dkg",$age,$weight); // ສະແດງຄວາມປະເພດ ແລະ ຄວາມມູນ var_dump($age,$weight); ?>
ການອະທິບາຍ ແລະ ການນໍາໃຊ້
sscanf() ການຄົ້ນຫາຂໍ້ມູນຈາກວິສະວະກຳທີ່ມີຢູ່ໃນວິສະວະກຳ. sscanf() ການຄົ້ນຫາວິສະວະກຳຈາກວິສະວະກຳທີ່ມີຢູ່ໃນວິສະວະກຳອີງຕາມຄຳສັບພາສາ.
ຖ້າພຽງປະກອບສອງປະເພດທີ່ສົ່ງໄປຫາການເຮັດວຽກ, ຂໍ້ມູນຈະກັບຄືນເປັນອາກາດ. ຖ້າມີປະເພດອີກ, ຂໍ້ມູນທີ່ຖືກຄົ້ນຫາຈະບັນທຶກໃນປະເພດດັ່ງກ່າວ. ຖ້າຈຳນວນຄຳປະຈຳທີ່ມີຫຼາຍກວ່າຈຳນວນສານທີ່ມີ, ຈະເກີດຄວາມຜິດພາດ. ແຕ່ຖ້າຈຳນວນຄຳປະຈຳທີ່ມີຫຼາຍກວ່າຈຳນວນສານ, ປະເພດທີ່ຫຼາຍກວ່າຈຳນວນສານຈະມີຄຳສັບພາສາ NULL.
ຫົວຂໍ້ຫຼັກ:
ຄຳສັບພາສາ
sscanf(string,format,arg1,arg2,arg++)
ປະເພດ | ອະທິບາຍ |
---|---|
string | ສະເພາະຫຼາຍ. ກໍານົດວິສະວະກຳທີ່ຈະອ່ານ. |
format |
ສະເພາະຫຼາຍ. ກໍານົດຈຳນວນພາສາທີ່ຈະໃຊ້. ຈຳນວນພາສາບັນດາທີ່ເປັນໄປໄດ້:
附加的格式值。必需放置在 % 和字母之间(例如 %.2f):
注释:如果使用多个上述的格式值,它们必须按照上面的顺序使用。 |
arg1 | ສາມາດໃຊ້. ສະເຫມຕິດຕໍ່ທີ່ຮັກສາຂໍ້ມູນຄັ້ງທີໜຶ່ງ. |
arg2 | ສາມາດໃຊ້. ສະເຫມຕິດຕໍ່ທີ່ຮັກສາຂໍ້ມູນຄັ້ງທີສອງ. |
arg++ | ສາມາດໃຊ້. ສະເຫມຕິດຕໍ່ທີ່ຮັກສາຂໍ້ມູນຄັ້ງທີສາມ ແລະ ສາມສິບຄັ້ງຫຼັງນັ້ນ. |
ຂໍ້ມູນດ້ານເຕັກນິກ
ຜົນກະທົບ: | ຖ້າມີພຽງສອງສະເຫມຕິດຕໍ່ກັບການເອົາຂໍ້ມູນກັບການດຳເນີນງານວ່າວິທະຍານ. ຖ້າມີສະເຫມຕິດຕໍ່ກັບຂໍ້ມູນອື່ນໆ, ຂໍ້ມູນທີ່ຖືກອ່ອນທີ່ວິທະຍານຈະຖືກຮັກສາໃນສະເຫມຕິດຕໍ່ກັບຂໍ້ມູນ. ຖ້າຈຳນວນຄວາມສະເຫມຕິດຕໍ່ຫຼາຍກວ່າຈຳນວນສະເຫມຕິດຕໍ່ທີ່ກວມເອົາ, ຈະເກີດຄວາມຜິດພາດ. ແຕ່ຖ້າຈຳນວນຄວາມສະເຫມຕິດຕໍ່ຫຼາຍກວ່າຈຳນວນສະເຫມຕິດຕໍ່, ສະເຫມຕິດຕໍ່ທີ່ຫຼາຍກວ່າຈຳນວນສະເຫມຕິດຕໍ່ຈະຖືກຮັກສາດ້ວຍ NULL. |
ຫົວຂໍ້ພະລັງງານ PHP: | 4.0.1+ |
ຕົວຢ່າງຫຼາຍກວ່າ
ຕົວຢ່າງ 1
ນຳໃຊ້ຄູ່ສັນຍາວິງ %s、%d ແລະ %c:
<?php $str = "If you divide 4 by 2 you'll get 2"; $format = sscanf($str,"%s %s %s %d %s %d %s %s %c"); print_r($format); ?>