• ทำความรู้จัก Python

    ทำความรู้จัก PythonPython เป็นภาษาโปรแกรมแบบอินเทอร์พรีเตอร์ที่ถูกพัฒนาขึ้นและเป็นภาษากาวที่สามารถ เรียกภาษาโปรแกรมอื่น และในภาษา Python ก็มีทั้งไวยากรณ์ที่อ่านง่ายกับไลบรารีที่มีให้ติดตั้งเพื่อช่วยในการเขียน Python ได้โดย : http://www.mindphp.com อ่านเพิ่มเติม

    ทำความรู้จัก Python
    Python เป็นภาษาโปรแกรมแบบอินเทอร์พรีเตอร์ที่ถูกพัฒนาขึ้นและเป็นภาษากาวที่สามารถ เรียกภาษาโปรแกรมอื่น และในภาษา Python ก็มีทั้งไวยากรณ์ที่อ่านง่ายกับไลบรารีที่มีให้ติดตั้งเพื่อช่วยในการเขียน Python ได้
    โดย : http://www.mindphp.com

    ดาวน์โหลด
    8,094
  • เครื่องมือสำหรับเขียน Python และวิธีการติดตั้ง...

    เครื่องมือสำหรับเขียน PythonPython เป็นภาษา Script จึงสามารถใช้เครื่องมือในการเขียนได้หลายโปรแกรม เช่น WingIDE, Komodo, Pydev, PyScripter, Netbean เป็นต้น และวิธีการติดตั้ง Python บน Windows XPโดย : http://www.mindphp.com อ่านเพิ่มเติม

    เครื่องมือสำหรับเขียน Python
    Python เป็นภาษา Script จึงสามารถใช้เครื่องมือในการเขียนได้หลายโปรแกรม เช่น WingIDE, Komodo, Pydev, PyScripter, Netbean เป็นต้น และวิธีการติดตั้ง Python บน Windows XP
    โดย : http://www.mindphp.com

    ดาวน์โหลด
    15,811
  • ไวยากรณ์พื้นฐานของ Python

    ไวยากรณ์พื้นฐานของ PythonPython มีลักษณะการเขียนโปรแกรมคล้ายกับพวกภาษา Perl, C, Java หรือ PHP ซึ่งจะมีลักษณะการเขียนที่แตกต่างกันไม่มาก ซึ่ง Python ไม่จำเป็นต้องประกาศตัวแปรก่อนใช้งาน สามารถกำหนดค่าขึ้นมาแล้วเรียกใช้ได้เลยโดย : http://www.mindphp.com อ่านเพิ่มเติม

    ไวยากรณ์พื้นฐานของ Python
    Python มีลักษณะการเขียนโปรแกรมคล้ายกับพวกภาษา Perl, C, Java หรือ PHP ซึ่งจะมีลักษณะการเขียนที่แตกต่างกันไม่มาก ซึ่ง Python ไม่จำเป็นต้องประกาศตัวแปรก่อนใช้งาน สามารถกำหนดค่าขึ้นมาแล้วเรียกใช้ได้เลย
    โดย : http://www.mindphp.com

    ดาวน์โหลด
    15,344
  • ตัวดำเนินการใน Python

    ตัวดำเนินการใน Python คือ เครื่องหมายที่ใช้ในการดำเนินการ เช่น เครื่องหมายบวกเป็นการเพิ่มค่า เครื่องหมายลบเป็นการลดค่า หรือเพื่อให้เข้าใจง่ายก็คือ เครื่องหมายที่ไว้จัดการกับตัวแปรโดย : http://www.mindphp.com อ่านเพิ่มเติม

    ตัวดำเนินการใน Python คือ เครื่องหมายที่ใช้ในการดำเนินการ เช่น เครื่องหมายบวกเป็นการเพิ่มค่า เครื่องหมายลบเป็นการลดค่า หรือเพื่อให้เข้าใจง่ายก็คือ เครื่องหมายที่ไว้จัดการกับตัวแปร
    โดย : http://www.mindphp.com

    ดาวน์โหลด
    11,600
  • การกำหนดตัวแปรใน Python

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

    การกำหนดตัวแปรใน Python คือ การกำหนดค่าให้ตัวแปรเป็นการสร้างตัวแปรขึ้นมาเก็บข้อมูลเพื่อใช้ในการ ประมวลผล โดยการประกาศตัวแปรนั้น จะต้องทำการตั้งชื่อให้กับตัวแปรและตั้งชนิดของตัวแปร ซึ่งการกำหนดตัวแปรบนภาษา Python ไม่จำเป็นต้องประกาศตัวแปรก่อนใช้งาน สามารถกำหนดค่าขึ้นมาแล้วเรียกใช้ได้เลยและมีรูปแบบการกำหนดค่าให้กับตัวแปร ที่ไม่ยุ่งยาก
    โดย : http://www.mindphp.com

    ดาวน์โหลด
    8,739
  • ตัวแปรชนิด List

    ตัวแปรชนิด List เป็นตัวแปรแบบ Compound Data Type คือ สามารถเก็บค่าได้มากกว่า 1 ค่าใน 1 ตัวแปร์ เพื่อการใช้งานที่หลากหลายและการกำหนดค่าให้กับสมาชิกแต่ละตัวจะต้องอยู่ภาย ใต้ [...]โดย : http://www.mindphp.com อ่านเพิ่มเติม

    ตัวแปรชนิด List เป็นตัวแปรแบบ Compound Data Type คือ สามารถเก็บค่าได้มากกว่า 1 ค่าใน 1 ตัวแปร์ เพื่อการใช้งานที่หลากหลายและการกำหนดค่าให้กับสมาชิกแต่ละตัวจะต้องอยู่ภาย ใต้ [...]
    โดย : http://www.mindphp.com

    ดาวน์โหลด
    7,781
  • ตัวแปรชนิด Tuple

    ตัวแปรชนิด Tuple เป็นตัวแปรแบบ Sequence Data Type สามารถเก็บค่าได้มากกว่า 1 ค่าใน 1 ตัวแปร เหมือนตัวแปรชนิด List แต่สิ่งที่แตกต่างจาก List คือ ไม่สามารถเพิ่มค่าได้และการกำหนดค่าให้กับสมาชิกแต่ละตัวต้องอยู่ภายใต้ (...)โดย : http://www.mindphp.com อ่านเพิ่มเติม

    ตัวแปรชนิด Tuple เป็นตัวแปรแบบ Sequence Data Type สามารถเก็บค่าได้มากกว่า 1 ค่าใน 1 ตัวแปร เหมือนตัวแปรชนิด List แต่สิ่งที่แตกต่างจาก List คือ ไม่สามารถเพิ่มค่าได้และการกำหนดค่าให้กับสมาชิกแต่ละตัวต้องอยู่ภายใต้ (...)
    โดย : http://www.mindphp.com

    ดาวน์โหลด
    12,428
  • ตัวแปรชนิด Dictionary

    ตัวแปรชนิด Dictionary เป็นตัวแปรแบบ Hash Table Type หรือคล้ายกับตัวแปร array ในภาษา PHP โดยจะต้องมี Key และ Value คู่กันเสมอ ซึ่ง Key ของ Dictionary จะใช้ตัวแปรชนิดใดของ Python กำหนดค่าให้กับสมาชิกแต่ละตัวต้องอยู่ภายใต้ {...}รูปแบบของตัวแปร Dictionary,... อ่านเพิ่มเติม

    ตัวแปรชนิด Dictionary เป็นตัวแปรแบบ Hash Table Type หรือคล้ายกับตัวแปร array ในภาษา PHP โดยจะต้องมี Key และ Value คู่กันเสมอ ซึ่ง Key ของ Dictionary จะใช้ตัวแปรชนิดใดของ Python กำหนดค่าให้กับสมาชิกแต่ละตัวต้องอยู่ภายใต้ {...}
    รูปแบบของตัวแปร Dictionary, การกำหนดค่า, การเพิ่มลบค่า, ความแตกต่างระหว่างตัวแปรชนิด List กับ Tuple และ Dictionary
    โดย : http://www.mindphp.com

    ดาวน์โหลด
    13,905
  • Function การแปลงชนิดข้อมูล

    Function การแปลงชนิดข้อมูล Python จะเป็นภาษาที่กำหนดชนิดของข้อมูลให้เองตอนสร้างตัวแปร แต่บางครั้อาจต้องการเปลี่ยนแปลงชนิดของตัวแปร เพื่อนำไปใช้ไม่ว่าจะในกรณีใดก็ตาม Python จึงมีฟังก์ชั่นสำหรับการแสดงชนิดข้อมูลหรือที่เรียกว่า Built-in Function โดย :... อ่านเพิ่มเติม

    Function การแปลงชนิดข้อมูล
    Python จะเป็นภาษาที่กำหนดชนิดของข้อมูลให้เองตอนสร้างตัวแปร แต่บางครั้อาจต้องการเปลี่ยนแปลงชนิดของตัวแปร เพื่อนำไปใช้ไม่ว่าจะในกรณีใดก็ตาม Python จึงมีฟังก์ชั่นสำหรับการแสดงชนิดข้อมูลหรือที่เรียกว่า Built-in Function
    โดย : http://www.mindphp.com

    ดาวน์โหลด
    9,721
  • IF Statements

    If Statements คือ การกำหนดเงื่อนไข และการทำงานหลังจากเงื่อนไขนั้นๆ ซึ่งการใช้จะไม่ใช้เครื่องหมาย { } เหมือน PHP แต่จะกำหนดกลุ่มการทำงานด้วยการย่อหน้าแทนโดย : http://www.mindphp.com อ่านเพิ่มเติม

    If Statements คือ การกำหนดเงื่อนไข และการทำงานหลังจากเงื่อนไขนั้นๆ ซึ่งการใช้จะไม่ใช้เครื่องหมาย { } เหมือน PHP แต่จะกำหนดกลุ่มการทำงานด้วยการย่อหน้าแทน
    โดย : http://www.mindphp.com

    ดาวน์โหลด
    14,556
  • For loop Statements

    For loop คือ การทำงานซ้ำจนกว่าการทดสอบทางตรรกศาสตร์จะเป็นเท็จโดยกำหนดช่วงการทำงานของ For ให้ใช้งานคู่กับ in เมื่อ in คือ ตรรกศาสตร์ที่ต้องการเปรียบเทียบโดย : http://www.mindphp.com อ่านเพิ่มเติม

    For loop คือ การทำงานซ้ำจนกว่าการทดสอบทางตรรกศาสตร์จะเป็นเท็จโดยกำหนดช่วงการทำงานของ For ให้ใช้งานคู่กับ in เมื่อ in คือ ตรรกศาสตร์ที่ต้องการเปรียบเทียบ
    โดย : http://www.mindphp.com

    ดาวน์โหลด
    14,035
  • While loop statements

    While loop คือ การทำงานซ้ำโดยไม่ทราบจำนวนรอบที่แน่นอนและวนจนกว่าเงื่อนไขจะเป็นเท็จ ซึ่งจะแตกต่างกับการวนลูปของ For ที่ทราบจำนวนที่แน่อนโดย : http://www.mindphp.com อ่านเพิ่มเติม

    While loop คือ การทำงานซ้ำโดยไม่ทราบจำนวนรอบที่แน่นอนและวนจนกว่าเงื่อนไขจะเป็นเท็จ ซึ่งจะแตกต่างกับการวนลูปของ For ที่ทราบจำนวนที่แน่อน
    โดย : http://www.mindphp.com

    ดาวน์โหลด
    11,888
  • Foreach loop statements

    Foreach loop คือ การวนลูปเพื่อนำข้อมูลออกจากตัวแปร array ซึ่งเป็นคำสั่งของภาษา PHP แต่ใน Python ไม่มีคำสั่งนี้แต่สามารถใช้ For loop โดยนำฟังก์ชั่น range() และ ฟังก์ชั่น len() มาใช้งานร่วมกันเพื่อให้สามารถนำข้อมูลออกจากตัวแปรที่เก็บค่าได้มากกว่า... อ่านเพิ่มเติม

    Foreach loop คือ การวนลูปเพื่อนำข้อมูลออกจากตัวแปร array ซึ่งเป็นคำสั่งของภาษา PHP แต่ใน Python ไม่มีคำสั่งนี้แต่สามารถใช้ For loop โดยนำฟังก์ชั่น range() และ ฟังก์ชั่น len() มาใช้งานร่วมกันเพื่อให้สามารถนำข้อมูลออกจากตัวแปรที่เก็บค่าได้มากกว่า หนึ่งค่าในตัวแปรเดียวกัน เช่น List, Tuple และ Dictionary
    โดย : http://www.mindphp.com

    ดาวน์โหลด
    11,172
  • การจัดการข้อผิดพลาดใน Python

    การจัดการข้อผิดพลาดใน Python เป็นการจัดการเหตุการณ์การยกเว้นเนื่องจากในบางครั้งที่โปรแกรมกำลังทำงาน แล้วเกิดเหตุการณ์ผิดปกติขึ้นทำให้การดำเนินงานไม่เป็นไปตามปกติ จึงจำเป็นต้องมีวิธีการจัดการกับเหตุการณ์ดังกล่าว โดยใช้ Exception... อ่านเพิ่มเติม

    การจัดการข้อผิดพลาดใน Python เป็นการจัดการเหตุการณ์การยกเว้นเนื่องจากในบางครั้งที่โปรแกรมกำลังทำงาน แล้วเกิดเหตุการณ์ผิดปกติขึ้นทำให้การดำเนินงานไม่เป็นไปตามปกติ จึงจำเป็นต้องมีวิธีการจัดการกับเหตุการณ์ดังกล่าว โดยใช้ Exception เข้ามาช่วยเพื่อให้แสดงผลของการผิดพลาดที่สามารถเข้าใจง่าย
    โดย : http://www.mindphp.com

    ดาวน์โหลด
    12,238
  • การสร้าง Function

    การสร้างฟังก์ชั่นใน Pythonนอกจากใน Python จะมีฟังก์ชั่น Built-in ที่สามารถเรียกใช้ได้ทันที แต่ยังมีฟังก์ชั่นที่สามารถสร้างขึ้นใหม่เองได้ด้วย ซึ่งฟังก์ชั่นที่ว่านี้ก็จะออกเป็นประเภทต่างๆเพื่อให้เหมาะสมกับการใช้งานโดย : http://www.mindphp.com อ่านเพิ่มเติม

    การสร้างฟังก์ชั่นใน Python
    นอกจากใน Python จะมีฟังก์ชั่น Built-in ที่สามารถเรียกใช้ได้ทันที แต่ยังมีฟังก์ชั่นที่สามารถสร้างขึ้นใหม่เองได้ด้วย ซึ่งฟังก์ชั่นที่ว่านี้ก็จะออกเป็นประเภทต่างๆเพื่อให้เหมาะสมกับการใช้งาน
    โดย : http://www.mindphp.com

    ดาวน์โหลด
    14,162
  • การสร้าง Function โดยมี Default Value

    การสร้างฟังก์ชั่นโดยมี Default Value คือ การสร้างฟังก์ชั่น ที่มีการกำหนดค่าเริ่มต้นให้กับ argument เมื่อมีการเรียกใช้ฟังก์ชั่นมีการส่งค่า argument ผ่านเข้ามาจะนำไปแทนค่า argument ของฟังก์ชั่นตามลำดับโดย : http://www.mindphp.com อ่านเพิ่มเติม

    การสร้างฟังก์ชั่นโดยมี Default Value คือ การสร้างฟังก์ชั่น ที่มีการกำหนดค่าเริ่มต้นให้กับ argument เมื่อมีการเรียกใช้ฟังก์ชั่นมีการส่งค่า argument ผ่านเข้ามาจะนำไปแทนค่า argument ของฟังก์ชั่นตามลำดับ
    โดย : http://www.mindphp.com

    ดาวน์โหลด
    13,389
  • การสร้าง Function โดยมี Keyword

    การสร้างฟังก์ชั่นโดยมี Keywordนอกจากการกำหนดค่าเริ่มต้นให้กับ argument หรือสร้างฟังก์ชั่นโดยมี Default Vales ไปแล้ว ยังสามารถสร้างฟังก์ชั่นโดยการกำหนด Keyword ให้กับ argument ได้ เพื่อในกรณีที่มี argument... อ่านเพิ่มเติม

    การสร้างฟังก์ชั่นโดยมี Keyword
    นอกจากการกำหนดค่าเริ่มต้นให้กับ argument หรือสร้างฟังก์ชั่นโดยมี Default Vales ไปแล้ว ยังสามารถสร้างฟังก์ชั่นโดยการกำหนด Keyword ให้กับ argument ได้ เพื่อในกรณีที่มี argument หลายตัวจะได้ไม่ให้เกิดความสับสนและไม่ต้องเรียกใช้งาน argument ตามลำดับ
    โดย : http://www.mindphp.com

    ดาวน์โหลด
    9,186
  • การสร้าง Function โดยมี Variable-length

    การสร้าง Function โดยมี Variable-length เป็นข้อแตกต่างของภาษา Python ที่มีไม่เหมือนกับภาษาอื่นๆ คือสามารถเขียนฟังก์ชั่น โดยมีขนาดของ argument ไม่แน่นอนได้ จึงทำให้การเขียนโปรแกรมมีความยืดหยุ่น โดยปกติการสร้าง argument จะต้องมีการระบตัวแปร... อ่านเพิ่มเติม

    การสร้าง Function โดยมี Variable-length เป็นข้อแตกต่างของภาษา Python ที่มีไม่เหมือนกับภาษาอื่นๆ คือสามารถเขียนฟังก์ชั่น โดยมีขนาดของ argument ไม่แน่นอนได้ จึงทำให้การเขียนโปรแกรมมีความยืดหยุ่น โดยปกติการสร้าง argument จะต้องมีการระบตัวแปร แต่ในการสร้างฟังก์ชั่นที่มีขนาด argument ไม่แน่นอนจะระบุเพียง " (*) " ซึ่งการสร้างฟังก์ชั่นลักษณะนี้ เรียกว่า "Variable-length"
    โดย : http://www.mindphp.com

    ดาวน์โหลด
    9,987
Powered by Mindphp.com. ภาษาไทยโดย Mindphp.com
กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
อยากทราบวิธีแยกข้อมูลที่เรียงกันอย่างไม่เป็นระเบียบเข้า DB
โดย meetingyou999 อ 28 ม.ค. 2020 10:37 pm บอร์ด Programming - PHP
0
7
อ 28 ม.ค. 2020 10:37 pm โดย meetingyou999
Pillow library ฟังก์ชั่น Filters สำหรับการปรับ Filters ของภาพให้มีลูกเล่นมากขึ้น
โดย benzas00123 อ 28 ม.ค. 2020 6:52 pm บอร์ด Python Knowledge
0
13
อ 28 ม.ค. 2020 6:52 pm โดย benzas00123
เรียนรู้การใช้สูตรจาก Excel
โดย nutchasn อ 28 ม.ค. 2020 6:51 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
5
อ 28 ม.ค. 2020 6:51 pm โดย nutchasn
Pillow library ฟังก์ชั่น convert ฟังก์ชั่นสำหรับเปลี่ยนโหมดสีของภาพ
โดย benzas00123 อ 28 ม.ค. 2020 6:40 pm บอร์ด Python Knowledge
0
8
อ 28 ม.ค. 2020 6:40 pm โดย benzas00123
ทำความรู้จักโปรแกรม power bi ในการวิเคราะห์ข้อมูล
โดย nutchasn อ 28 ม.ค. 2020 4:30 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
7
อ 28 ม.ค. 2020 4:30 pm โดย nutchasn
ทำความรู้เกี่ยวประเภทของสมุดรายวันขั้นต้น
โดย nutchasn อ 28 ม.ค. 2020 3:33 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
7
อ 28 ม.ค. 2020 3:33 pm โดย nutchasn
ความขี้เกียจ
โดย noppadonsk อ 28 ม.ค. 2020 3:14 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
14
อ 28 ม.ค. 2020 3:14 pm โดย noppadonsk
เรียนรู้หลักการในการเขียน Flow chart
โดย nutchasn อ 28 ม.ค. 2020 2:46 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
9
อ 28 ม.ค. 2020 2:46 pm โดย nutchasn
ขอสอบถามครับ ไม่สามารถแสดงผลรูปภาพบน html ได้
โดย benzas00123 อ 28 ม.ค. 2020 2:28 pm บอร์ด HTML CSS
6
22
อ 28 ม.ค. 2020 3:03 pm โดย benzas00123
ความแตกต่างของการบันทึกบัญชีแบบ Periodic และ Perpetual
โดย nutchasn อ 28 ม.ค. 2020 1:38 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
8
อ 28 ม.ค. 2020 1:38 pm โดย nutchasn
ทำความรู้จักกับโปรแกรม easy acc โปรแกรมอำนวยความสะดวยต่อการจัดการระบบบัญชี
โดย nutchasn จ 27 ม.ค. 2020 7:12 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
53
จ 27 ม.ค. 2020 7:12 pm โดย nutchasn
อยากทรบวิธีการตรวจสอบความถูกต้องของเลขบัตรประชาชน
โดย Ittichai_chupol จ 27 ม.ค. 2020 6:33 pm บอร์ด Programming - PHP
0
63
จ 27 ม.ค. 2020 6:33 pm โดย Ittichai_chupol
Pillow library ฟังก์ชั่น rotate ใช้สำหรับการหมุนรูปภาพ
โดย benzas00123 จ 27 ม.ค. 2020 6:22 pm บอร์ด Python Knowledge
0
17
จ 27 ม.ค. 2020 6:22 pm โดย benzas00123
Pillow library ความแตกต่างระหว่างฟังก์ชั่น thumbnail และ resize
โดย benzas00123 จ 27 ม.ค. 2020 6:10 pm บอร์ด Python Knowledge
0
10
จ 27 ม.ค. 2020 6:10 pm โดย benzas00123
Pillow library การปรับขนาดรูปภาพด้วยฟังก์ชั่น resize()
โดย benzas00123 จ 27 ม.ค. 2020 5:58 pm บอร์ด Python Knowledge
0
17
จ 27 ม.ค. 2020 5:58 pm โดย benzas00123
วิธีการเดินทางจากบ้าน นครราชสีมา - กรุงเทพฯ
โดย nutchasn จ 27 ม.ค. 2020 3:40 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
18
จ 27 ม.ค. 2020 3:40 pm โดย nutchasn
คนเจ้าชู้?
โดย noppadonsk จ 27 ม.ค. 2020 11:16 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
14
จ 27 ม.ค. 2020 11:16 am โดย noppadonsk
รับติดตั้งระบบ Skype for Business และ Microsoft Teams
โดย Atomseed Suckseed จ 27 ม.ค. 2020 11:05 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
49
จ 27 ม.ค. 2020 11:05 am โดย Atomseed Suckseed
ขอสอบถามเกี่ยวกับ การ send_file zip ครับ
โดย benzas00123 ส 25 ม.ค. 2020 8:44 pm บอร์ด Programming - C/C++ & java & Python
6
68
อ 28 ม.ค. 2020 10:24 am โดย benzas00123
ขอสอบถามเกี่ยวกับวิธีสร้างตัวไว้สำหรับ download หน่อยครับ
โดย benzas00123 ส 25 ม.ค. 2020 5:53 pm บอร์ด Programming - C/C++ & java & Python
2
29
จ 27 ม.ค. 2020 4:00 pm โดย mindphp