บทช่วยสอนPHP

PHP HOME แนะนำ PHP การติดตั้ง PHP PHP ไวยากรณ์ ความคิดเห็น PHP ตัวแปร PHP PHP Echo / พิมพ์ ประเภทข้อมูล PHP PHP Strings หมายเลข PHP PHP คณิตศาสตร์ ค่าคงที่ PHP ตัวดำเนินการ PHP PHP If...Else...Elseif PHP Switch PHP Loops ฟังก์ชัน PHP PHP Arrays PHP Superglobals PHP RegEx

แบบฟอร์มPHP

การจัดการแบบฟอร์ม PHP การตรวจสอบแบบฟอร์ม PHP ต้องใช้แบบฟอร์ม PHP URL แบบฟอร์ม PHP/อีเมล แบบฟอร์ม PHP เสร็จสมบูรณ์

PHPขั้นสูง

วันที่และเวลา PHP รวม PHP การจัดการไฟล์ PHP ไฟล์ PHP เปิด/อ่าน สร้าง/เขียนไฟล์ PHP อัพโหลดไฟล์ PHP คุกกี้ PHP PHP Sessions ตัวกรอง PHP ตัวกรอง PHP ขั้นสูง ฟังก์ชันเรียกกลับของ PHP PHP JSON ข้อยกเว้น PHP

PHP OOP

PHP OOP คืออะไร คลาส PHP/วัตถุ ตัวสร้าง PHP PHP Destructor PHP Access Modifiers PHP Inheritance ค่าคงที่ PHP PHP Abstract Classes อินเทอร์เฟซ PHP PHP ลักษณะ PHP Static Methods PHP คุณสมบัติคงที่ PHP เนมสเปซ PHP Iterables

ฐานข้อมูลMySQL

ฐานข้อมูล MySQL MySQL Connect MySQL สร้าง DB MySQL สร้างตาราง MySQL แทรกข้อมูล MySQL รับ ID ล่าสุด MySQL แทรกหลายรายการ MySQL ที่เตรียมไว้ MySQL Select Data MySQL Where MySQL สั่งซื้อโดย MySQL ลบข้อมูล ข้อมูลอัพเดต MySQL MySQL Limit Data

PHP XML

PHP XML Parsers PHP SimpleXML Parser PHP SimpleXML - รับ PHP XML Expat PHP XML DOM

PHP - AJAX

บทนำ AJAX AJAX PHP ฐานข้อมูล AJAX AJAX XML AJAX ค้นหาสด AJAX โพล

ตัวอย่างPHP

ตัวอย่าง PHP PHP คอมไพเลอร์ แบบทดสอบ PHP แบบฝึกหัด PHP ใบรับรอง PHP

ข้อมูลอ้างอิงPHP

ภาพรวม PHP PHP Array ปฏิทิน PHP PHP วันที่ ไดเรกทอรี PHP ข้อผิดพลาด PHP ข้อยกเว้น PHP ระบบไฟล์ PHP ตัวกรอง PHP PHP FTP PHP JSON คีย์เวิร์ด PHP PHP Libxml PHP Mail PHP คณิตศาสตร์ PHP เบ็ดเตล็ด PHP MySQLi เครือข่าย PHP การควบคุมเอาต์พุต PHP PHP RegEx PHP SimpleXML PHP Stream PHP String การจัดการตัวแปร PHP PHP XML Parser PHP Zip เขตเวลา PHP

ฟังก์ชัน PHP


พลังที่แท้จริงของ PHP มาจากฟังก์ชันของมัน

PHP มีฟังก์ชันในตัวมากกว่า 1,000 ฟังก์ชัน และนอกจากนี้ คุณสามารถสร้างฟังก์ชันที่กำหนดเองได้


ฟังก์ชั่น PHP ในตัว

PHP มีฟังก์ชันในตัวมากกว่า 1,000 ฟังก์ชันที่สามารถเรียกได้โดยตรงจากภายในสคริปต์เพื่อทำงานเฉพาะ

โปรดดูข้อมูลอ้างอิง PHP ของเราสำหรับภาพรวมที่สมบูรณ์ของ ฟังก์ชัน PHP ในตัว


ฟังก์ชั่นที่กำหนดโดยผู้ใช้ PHP

นอกจากฟังก์ชัน PHP ในตัวแล้ว คุณยังสามารถสร้างฟังก์ชันของคุณเองได้

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

สร้างฟังก์ชันที่กำหนดโดยผู้ใช้ใน PHP

การประกาศฟังก์ชันที่ผู้ใช้กำหนดขึ้นต้นด้วยคำว่าfunction:

ไวยากรณ์

function functionName() {
  code to be executed;
}

หมายเหตุ:ชื่อฟังก์ชันต้องขึ้นต้นด้วยตัวอักษรหรือขีดล่าง ชื่อฟังก์ชันไม่คำนึงถึงขนาดตัวพิมพ์

เคล็ดลับ:ตั้งชื่อฟังก์ชันที่สะท้อนถึงสิ่งที่ฟังก์ชันทำ!

ในตัวอย่างด้านล่าง เราสร้างฟังก์ชันชื่อ "writeMsg()" วงเล็บปีกกาเปิด ( { ) ระบุจุดเริ่มต้นของโค้ดฟังก์ชัน และวงเล็บปีกกาปิด ( } ) ระบุจุดสิ้นสุดของฟังก์ชัน ฟังก์ชั่นส่งออก "สวัสดีชาวโลก!" หากต้องการเรียกใช้ฟังก์ชัน ให้เขียนชื่อตามด้วยเครื่องหมายวงเล็บ ():

ตัวอย่าง

<?php
function writeMsg() {
  echo "Hello world!";
}

writeMsg(); // call the function
?>


อาร์กิวเมนต์ฟังก์ชัน PHP

ข้อมูลสามารถส่งผ่านไปยังฟังก์ชันผ่านอาร์กิวเมนต์ได้ อาร์กิวเมนต์เป็นเหมือนตัวแปร

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

ตัวอย่างต่อไปนี้มีฟังก์ชันที่มีหนึ่งอาร์กิวเมนต์ ($fname) เมื่อเรียกใช้ฟังก์ชัน familyName() เรายังส่งต่อชื่อ (เช่น Jani) และใช้ชื่อดังกล่าวในฟังก์ชัน ซึ่งแสดงชื่อต้นที่แตกต่างกันหลายชื่อ แต่มีนามสกุลเท่ากัน:

ตัวอย่าง

<?php
function familyName($fname) {
  echo "$fname Refsnes.<br>";
}

familyName("Jani");
familyName("Hege");
familyName("Stale");
familyName("Kai Jim");
familyName("Borge");
?>

ตัวอย่างต่อไปนี้มีฟังก์ชันที่มีสองอาร์กิวเมนต์ ($fname และ $year):

ตัวอย่าง

<?php
function familyName($fname, $year) {
  echo "$fname Refsnes. Born in $year <br>";
}

familyName("Hege", "1975");
familyName("Stale", "1978");
familyName("Kai Jim", "1983");
?>

PHP เป็นภาษาที่พิมพ์อย่างหลวม ๆ

ในตัวอย่างข้างต้น สังเกตว่าเราไม่จำเป็นต้องบอก PHP ว่าตัวแปรนั้นเป็นประเภทข้อมูลใด

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

ใน PHP 7 มีการเพิ่มการประกาศประเภท สิ่งนี้ทำให้เรามีตัวเลือกในการระบุประเภทข้อมูลที่คาดหวังเมื่อประกาศฟังก์ชัน และโดยการเพิ่มการstrict ประกาศ มันจะส่ง "ข้อผิดพลาดร้ายแรง" หากประเภทข้อมูลไม่ตรงกัน

ในตัวอย่างต่อไปนี้ เราพยายามส่งทั้งตัวเลขและสตริงไปยังฟังก์ชันโดยไม่ต้องใช้strict:

ตัวอย่าง

<?php
function addNumbers(int $a, int $b) {
  return $a + $b;
}
echo addNumbers(5, "5 days");
// since strict is NOT enabled "5 days" is changed to int(5), and it will return 10
?>

เพื่อระบุว่าstrictเราต้องตั้งdeclare(strict_types=1);ค่า ต้องอยู่ในบรรทัดแรกของไฟล์ PHP

ในตัวอย่างต่อไปนี้ เราพยายามส่งทั้งตัวเลขและสตริงไปยังฟังก์ชัน แต่ที่นี่เราได้เพิ่มการstrict ประกาศ:

ตัวอย่าง

<?php declare(strict_types=1); // strict requirement

function addNumbers(int $a, int $b) {
  return $a + $b;
}
echo addNumbers(5, "5 days");
// since strict is enabled and "5 days" is not an integer, an error will be thrown
?>

การstrictประกาศบังคับให้สิ่งต่าง ๆ ถูกใช้ในทางที่ตั้งใจไว้


ค่าอาร์กิวเมนต์เริ่มต้นของ PHP

ตัวอย่างต่อไปนี้แสดงวิธีการใช้พารามิเตอร์เริ่มต้น หากเราเรียกใช้ฟังก์ชัน setHeight() โดยไม่มีอาร์กิวเมนต์ จะใช้ค่าเริ่มต้นเป็นอาร์กิวเมนต์:

ตัวอย่าง

<?php declare(strict_types=1); // strict requirement
function setHeight(int $minheight = 50) {
  echo "The height is : $minheight <br>";
}

setHeight(350);
setHeight(); // will use the default value of 50
setHeight(135);
setHeight(80);
?>

ฟังก์ชัน PHP - ส่งกลับค่า

หากต้องการให้ฟังก์ชันคืนค่า ให้ใช้returnคำสั่ง:

ตัวอย่าง

<?php declare(strict_types=1); // strict requirement
function sum(int $x, int $y) {
  $z = $x + $y;
  return $z;
}

echo "5 + 10 = " . sum(5, 10) . "<br>";
echo "7 + 13 = " . sum(7, 13) . "<br>";
echo "2 + 4 = " . sum(2, 4);
?>

การประกาศประเภทการส่งคืน PHP

PHP 7 ยังรองรับ Type Declarations สำหรับreturn คำสั่ง เช่นเดียวกับการประกาศประเภทสำหรับอาร์กิวเมนต์ของฟังก์ชัน โดยการเปิดใช้งานข้อกำหนดที่เข้มงวด จะทำให้เกิด "ข้อผิดพลาดร้ายแรง" ในประเภทที่ไม่ตรงกัน

ในการประกาศชนิดของฟังก์ชัน return ให้เพิ่มโคลอน ( :) และ type ก่อน{วงเล็บเปิด ( ) เมื่อประกาศฟังก์ชัน

ในตัวอย่างต่อไปนี้ เราระบุประเภทการส่งคืนสำหรับฟังก์ชัน:

ตัวอย่าง

<?php declare(strict_types=1); // strict requirement
function addNumbers(float $a, float $b) : float {
  return $a + $b;
}
echo addNumbers(1.2, 5.2);
?>

คุณสามารถระบุประเภทการส่งคืนที่แตกต่างจากประเภทอาร์กิวเมนต์ได้ แต่ตรวจสอบให้แน่ใจว่าการส่งคืนเป็นประเภทที่ถูกต้อง:

ตัวอย่าง

<?php declare(strict_types=1); // strict requirement
function addNumbers(float $a, float $b) : int {
  return (int)($a + $b);
}
echo addNumbers(1.2, 5.2);
?>

ผ่านอาร์กิวเมนต์โดยการอ้างอิง

ใน PHP อาร์กิวเมนต์มักจะส่งผ่านด้วยค่า ซึ่งหมายความว่าสำเนาของค่าถูกใช้ในฟังก์ชันและตัวแปรที่ส่งผ่านไปยังฟังก์ชันไม่สามารถเปลี่ยนแปลงได้

เมื่ออาร์กิวเมนต์ของฟังก์ชันถูกส่งผ่านโดยการอ้างอิง การเปลี่ยนแปลงอาร์กิวเมนต์จะเปลี่ยนตัวแปรที่ส่งผ่านเข้ามาด้วย ในการเปลี่ยนอาร์กิวเมนต์ของฟังก์ชันเป็นข้อมูลอ้างอิง ตัว& ดำเนินการจะใช้:

ตัวอย่าง

ใช้อาร์กิวเมนต์ pass-by-reference เพื่ออัปเดตตัวแปร:

<?php
function add_five(&$value) {
  $value += 5;
}

$num = 2;
add_five($num);
echo $num;
?>

แบบฝึกหัด PHP

ทดสอบตัวเองด้วยแบบฝึกหัด

ออกกำลังกาย:

สร้างฟังก์ชันชื่อmyFunction.

 {
  echo "Hello World!";
}