Tổng quan về PHP. PHP là ngôn ngữ lập trình mã nguồn mở. Hoàn toàn miễn phí Có cộng đồng phát triển rất lớn Có tính linh động rất cao. Chạy tốt trên mọi hệ điều hành. Kịch bản PHP có thể dễ ràng nhúng vào các trang HTML, rất phù hợp với làm web PHP làm việc tốt với mọi hệ quản trị cơ sở dữ liệu Được đánh giá là ngôn ngữ dễ học và dễ tiếp cần. Rất phù hợp với những người mới theo lập trình. Nguồn việc làm từ PHP rất lớn ( Cơ hội việc làm cao )
Trang 1bà i 1
1 Tổng quan vỠPHP.�
- PHP là ngôn ngữ láºp trình mã nguồn mở Hoà n toà n miá»…n phÃ
- Có cộng đồng phát triển rất lớn
- Có tÃnh linh động rất cao
- Chạy tốt trên mỠi hệ điỠu h� � nh
- Kịch bản PHP có thể dễ rà ng nhúng và o các trang HTML, rất phù hợp với là m web
- PHP là m việc tốt với mỠi hệ quản trị cơ sở dữ liệu�
- Ä Æ°á»£c đánh giá lÃ� ngôn ngữ dá»… há» c vÃ� dá»… tiếp cần Rất phù hợp vá»›i những ngưỠi má»›i theo láº� p trình
- Nguồn việc là m từ PHP rất lớn ( Cơ hội việc là m cao )
2 Khai báo trong PHP
Khi hỠc bất kỳ ngôn ngữ l� p trình nà o Cú pháp đầu tiên chúng
ta cần tìm hiểu đó là cách khai báo Với PHP cũng không ngoại lệ
Ä á»ƒ viết được kịch bản cá»§a PHP, ta cần phải khai báo theo cú� pháp như sau
Cách 1
<?php
//Code PHP
?>
Cách 2
<?
//Code PHP
?>
Cách 3
<%
//Code PHP
%>
Với ba cách khai báo trên, Cách 1 là cách khai báo được sỠdụng phổ biến nhất Ở cách khai báo số 2 và 3, đối với những phiên bản PHP hiện tại, nó không còn được hỗ trợ nữa
Bởi váºy, để tránh gặp phải những lá»—i ngoà i ý muốn Tôi khuyên các chỉ nên sá» dụng cách khai báo thứ nhất, khi phát triển ứng dụng cá»§a mình
Chú ý Tất cả các trang PHP đỠu có phần mở rá»™ng cá»§a file lÃ� php Ä á»‘i vá»›i những trang PHP không có chứ mã lệnh HTML thì � chúng ta không cần phải đóng thẻ PHP
3 Xuất dữ liệu ra mà n hình
Trong PHP, để in dữ liệu ra trình duyệt (mà n hình) ta sỠdụng từ khóa là "echo" Nội dung in ra có thể là số, chuỗi, biến hoặc là mã HTML Và nó được bỠc trong dấu nháy đơn hoặc nháy� kép
Và dụ
<?php
echo "Hello world !";
echo 'This is tag h2';
?>
4 Nối chuỗi trong PHP
Trang 2Trong PHP, khi ta muốn nối một hoặc nhiỠu giá trị với nhau ta � sỠdụng phép nối chuỗi
Ä á»ƒ nối chuá»—i ta sá»� dụng dấu chấm (.)
Và dụ
<?php
echo "HỠc l� p trình PHP" "tại SUNTECH";
?>
5 Chương trình PHP đầu tiên
Với chương trình PHP đầu tiên nà y Tôi sẽ tạo ra một trang PHP đơn giản Với nội dung là xuất ra một câu chà o như "Hello
world !"
Bạn và o thư mục htdocs của XAMPP, tạo một thư mục là demo Trong thư mục demo, bạn tạo file PHP là vd1.php Nội dung bên trong file vd1.php như bên dưới
File vd1.php
<?php
echo "Hello world !";
?>
bà i 2
1 Biến trong PHP
Biến là một vùng nhớ dữ liệu tạm thỠi, v� có giá trị luôn thay đổi trong toà n bộ chương trình Mỗi biến khác nhau sẽ mang những kiểu dữ liệu khác nhau
Khai báo biến trong PHP ta sỠdụng từ khóa $ Sau dấu $ là tên biến do ta định nghĩa Một biến được gỠi l� thỠa mãn, khi �
và chỉ khi nó tuân thủ các qui tắc sau:
- Tên biến luôn luôn bắt đầu bằng dấu ($)
- Tên biến không được bắt đầu bằng số
- Tên biến không được bắt đầu bằng ký tự đặc biệt
- Tên biến không được trùng với những từ khóa trong PHP
#Và dụ1: Ä áº·t tên biến�
<?php
$abc = 5; //ThỠa mãn�
$address //ThỠa mãn�
$0name //Không thỠa mãn�
$#aaa //Không thỠa mãn�
$_phone //ThỠa mãn�
Chú ý: Khi đặt tên biến chúng ta có thể gắn giá trị cho biến đó hoặc không Tên biến nên có ý nghÄ©a vá»›i hoà n cảnh sá»
dụng Giá trị của biến là chuỗi hoặc mã lệnh HTML thì chúng
ta phải bỠc chúng trong dấu nháy kép (" ") hoặc nháy đơn (' ')�
#Và dụ2:
1
2
3
4
<?php
$name = "Phạm Kỳ Khôi";
Trang 3$email = "phamkykhoi.info@gmail.com";
$website = "web24h.com.vn";
2 Kiểu dữ liệu trong PHP
Má»—i biến khác nhau sẽ mang những kiểu dữ liệu khác nhau Má»—i kiểu dữ liệu khác nhau sẽ chiếm vùng nhá»› cá»§a máy tÃnh khác nhau
Bảng danh sách kiểu dữ liệu trong PHP
Kiểu Dữ Liệu Và dụ Mô tả
Integer 5 Là Kiể số nguyên
Double 7.343 Kiểu số thực
Float 0.1 Kiểu số thực
String “How are you ?†� Má»™t táºp hợp các ký tá»±
Boolean True of False Giá trị true hoặc false
Object Kiểu hướng đối tượng trong PHP
Array Kiểu mảng trong PHP
3 Hằng trong PHP
Hằng là một giá trị không thay đổi trong toà n bộ chương trình Trong một trang web, không được có hai hằng trùng tên nhau Tên hằng ta nên đặt là chữ in hoa
Cú pháp khai báo hằng
<?php
define('TÊN_HẰNG','GIà _TRỊ');�
//In giá trị của hằng ra mà n hình
echo TÊN_HẰNG;
#Và dụ 3
<?php
define("COLOR","RED");
define("WEB","web24h.com.vn");
echo COLOR; // Giá trị nháºn được là RED
echo WEB; // Giá trị nháºn được là web24h.com.vn
4 Các phép tÃnh trong PHP
CÅ©ng giống như những ngôn ngữ khác PHP há»— trợ đầy đủ các phép tÃnh, giúp chúng ta có thể váºn dụng chúng để giải quyết các bà i toán trong thá»±c tế
Bảng các phép tÃnh số há» c trong PHP Giả sá»� tôi có $a = 10; $b = 3;
Tên phép toán Ký hiệu Và dụ Kết quả
Cá»™ng + $a + $b 10
Chia / $a/$b 0.33333
Chia lấy dư % $a%3 1
Trang 4bà i 3
1 Biểu thức điỠu kiện If Else �
Cú pháp 1
<?php
điỠu_kiện ? true : false;�
Và dụ
<?php
$today = 5;
echo $today == 5 ? "Hôm nay là thứ 5" : "Hôm nay không là thứ 5"; Kết quả là "Hôm nay là thứ 5"
Cú pháp 2
<?php
if(điỠu_kiện) {�
Hà nh động PHP
} else {
Hà nh động trái lại với điỠu kiện�
}
Và dụ
<?php
$day = 12;
if($day == 12) {
echo "Hôm nay là ngà y 12 của tháng";
} else {
echo "Hôm nay không phải là ngà y 12 của tháng";
}
Kết quả là "Hôm nay là ngà y 12 của tháng"
2 Biểu thức điỠu kiện switch case.�
Cú pháp
switch(biến){
case giá trị 1 : // hà nh động ; break;
case giá trị 2 : // hà nh động ; break;
case giá trị n : // hà nh động ; break;
default : // hà nh động ; break;
}
Và dụ
<?php
$today = "";
$thu = 5;
switch($thu){
case "2" : $today = "Thu 2"; break;
case "3" : $today = "Thu 3"; break;
case "4" : $today = "Thu 4"; break;
case "5" : $today = "Thu 5"; break;
case "6" : $today = "Thu 6"; break;
case "7" : $today = "Thu 7"; break;
case "8" : $today = "Chu nhat"; break;
Trang 5default : $today = "Khong tim thay!"; break;
}
echo "Hôm nay là : ".$today;
?>
Kết quả là "Hôm nay là Thu 5"
bà i 4
1 Ä áº·t vấn đỠ� �
Giả sá», Tôi muốn "Xuất ra mà n hình các giá trị từ 1 - 10" và không sá» dụng vòng lặp trong PHP Lúc nà y các bạn có thể giải quyết bà i toán bằng cách echo từng giá trị từ 1 đến 10 như sau
<?php
echo 1;
echo 2;
echo 3;
echo 4;
echo 5;
echo 6;
echo 7;
echo 8;
echo 9;
echo 10;
Tiếp theo, tôi muốn in ra mà n hình các giá trị từ 1 - 1000.000 Lúc nà y, các bạn không thể sá» dụng cách là m ở trên được nữa Chúng ta không thể viết ra má»™t triệu câu echo được Giải pháp đó là không phù hợp Váºy có giải pháp nà o tốt hÆ¡n
Lúc nà y chúng ta sẽ sỠdụng vòng lặp trong PHP để giải quyết vấn đỠn� y Bây giỠchúng ta sẽ cùng tìm hiểu các vòng lặp � thưỠng được s� dụng trong PHP
2 Vòng lặp while
Kiểm tra điỠu kiện trước khi thực hiện một công việc trong � vòng lặp Nếu thỠa mãn thì chạy tiếp, trái lại dừng chương � trình
Cú pháp
<?php
while(điỠu_kiện) {�
//Code PHP
}
Bà i táºp ứng dụng: Viết chương trình in ra mà n hình giá trị từ
1 đến 50
Phân tÃch: Ở bà i nà y, chúng ta cần in ra các trị từ 1 đến 50 Nên ta có thể suy ra các thông tin sau:
Giá trị bắt đầu là start = 1
Giá trị kết thúc là 50
Ä iá» u kiện lÃ� � nhá» hÆ¡n hoặc bằng 50.�
Mỗi lần in giá trị ra mà n hình ta sẽ tăng nó lên một đơn vị
Bây giỠta thực hiện như sau�
<?php
$start = 1;
while($start <= 50 ) {
Trang 6echo $start;
$start++;
}
3 Vòng lặp for
Cú pháp
<?php
for($biến; $điỠu_kiện; $giá_trị_biến_thiên) {�
//Code PHP
}
Bà i táºp ứng dụng : Viết chương trình in ra mà n hình giá trị từ
1 đến 100
<?php
for($i = 1; $i <= 100; $i++) {
echo $i;
}
4 Vòng lặp do while
Thực hiện công việc trước khi kiểm tra điỠu kiện�
Cú pháp
<?php
do {
//Code PHP
} while(điỠu_kiện)�
Bà i táºp ứng dụng: In ra mà n hình dãy số từ 1 đến 10
<?php
$i = 0;
do {
echo $i;
++$i;
} while ($i < 10);
bà i 5
Bà i 1 In ra dãy số từ 1 đến 100 Số chẵn có mà u đỠ, số lẻ� có mà u xanh
Ở bà i nà y, Tôi kiểm tra số chẵn dựa và o phép chia lấy dư Những số chẵn chia cho 2 sẽ có dư là 0
SỠdụng thẻ <font> để hiển thị mà u của chữ
<?php
for($i = 1; $i <= 100; $i++) {
if($i%2 == 0) {
echo "<font color='red'>".$i."</font>";
} else {
echo "<font color='blue'>".$i."</font>";
}
}
Bà i 2 Viết chương trình in ra bảng cá»u chương từ bảng 2 đến bảng 10
Tôi sá» dụng table để hiển thị bảng cá»u chương Ta tiến hà nh
Trang 7thực hiện như sau
<?php
echo "<table border='1' width='600'>";
for($i = 1; $i <= 10; $i++) {
echo "<tr>";
for($j = 2; $j <= 10; $j++) {
echo "<td> $j x $i = ".($j*$i)."</td>";
}
echo "</tr>";
}
echo "</table>";
Kết quả:
Bảng cá»u chương PHP
Bà i 3 Viết chương trình in ra dãy Fibonaci có giá trị nhỠhơn � 10.000
Fibonaci là dãy số như sau: 1 1 2 3 5 8 13 21
Có nghĩa là từ số thứ 3 trở đi, giá trị của nó bằng tổng hai số trước nó cộng lại
Ta thực hiện bà i toán như sau
<?php
$x = 0;
$y = 1;
for($i=0;$i<=10000;$i++){
$z = $x + $y;
if($z < 10000) {
echo $z."<br />";
}
$x=$y;
$y=$z;
}
?>
Kết quả: mà n hình in ra 1,3,5,8,13,21,34,,89, Bà i 1 In ra dãy số từ 1 đến 100 Số chẵn có mà u đỠ, số lẻ có m� u xanh
Ở bà i nà y, Tôi kiểm tra số chẵn dựa và o phép chia lấy dư Những số chẵn chia cho 2 sẽ có dư là 0
SỠdụng thẻ <font> để hiển thị mà u của chữ
<?php
for($i = 1; $i <= 100; $i++) {
if($i%2 == 0) {
echo "<font color='red'>".$i."</font>";
} else {
echo "<font color='blue'>".$i."</font>";
}
}
Bà i 2 Viết chương trình in ra bảng cá»u chương từ bảng 2 đến bảng 10
Tôi sá» dụng table để hiển thị bảng cá»u chương Ta tiến hà nh thá»±c hiện như sau
<?php
echo "<table border='1' width='600'>";
for($i = 1; $i <= 10; $i++) {
echo "<tr>";
for($j = 2; $j <= 10; $j++) {
echo "<td> $j x $i = ".($j*$i)."</td>";
Trang 8}
echo "</tr>";
}
echo "</table>";
Kết quả:
Bảng cá»u chương PHP
Bà i 3 Viết chương trình in ra dãy Fibonaci có giá trị nhỠhơn � 10.000
Fibonaci là dãy số như sau: 1 1 2 3 5 8 13 21
Có nghĩa là từ số thứ 3 trở đi, giá trị của nó bằng tổng hai số trước nó cộng lại
Ta thực hiện bà i toán như sau
<?php
$x = 0;
$y = 1;
for($i=0;$i<=10000;$i++){
$z = $x + $y;
if($z < 10000) {
echo $z."<br />";
}
$x=$y;
$y=$z;
}
?>
Kết quả:
Dãy số Fibonaci
Bà i 1 In ra dãy số từ 1 đến 100 Số chẵn có mà u đỠ, số lẻ� có mà u xanh
Ở bà i nà y, Tôi kiểm tra số chẵn dựa và o phép chia lấy dư Những số chẵn chia cho 2 sẽ có dư là 0
SỠdụng thẻ <font> để hiển thị mà u của chữ
<?php
for($i = 1; $i <= 100; $i++) {
if($i%2 == 0) {
echo "<font color='red'>".$i."</font>";
} else {
echo "<font color='blue'>".$i."</font>";
}
}
Bà i 2 Viết chương trình in ra bảng cá»u chương từ bảng 2 đến bảng 10
Tôi sá» dụng table để hiển thị bảng cá»u chương Ta tiến hà nh thá»±c hiện như sau
<?php
echo "<table border='1' width='600'>";
for($i = 1; $i <= 10; $i++) {
echo "<tr>";
for($j = 2; $j <= 10; $j++) {
echo "<td> $j x $i = ".($j*$i)."</td>";
}
echo "</tr>";
}
echo "</table>";
Kết quả:
Trang 9Bảng cá»u chương PHP
Bà i 3 Viết chương trình in ra dãy Fibonaci có giá trị nhỠhơn � 10.000
Fibonaci là dãy số như sau: 1 1 2 3 5 8 13 21
Có nghĩa là từ số thứ 3 trở đi, giá trị của nó bằng tổng hai số trước nó cộng lại
Ta thực hiện bà i toán như sau
<?php
$x = 0;
$y = 1;
for($i=0;$i<=10000;$i++){
$z = $x + $y;
if($z < 10000) {
echo $z."<br />";
}
$x=$y;
$y=$z;
}
?>
Kết quả: 1 2 3 5 8 13 21 34 89 6765
bà i 6
1 Khái niệm chuỗi và các qui tắc vỠchuỗi.�
Tất cả các giá trị được bỠc trong dấu nháy đơn (' ') hoặc � nháy kép (" ") đỠu được coi l� chuỗi trong PHP
#Và dụ 1
<?php
echo "HỠc PHP ở h� nội";
echo 'XỠlý chuỗi trong PHP';
$name = "Phạm Kỳ Khôi";
?>
Nếu chuỗi được bỠc bởi dấu nháy đơn hoặc nháy kép m� bên trong chuỗi lại chứa dấu nháy đơn hoặc nháy kép thì chúng ta phải đặt dấu gạch chéo trước dấu nháy đơn hoặc nháy kép đó
#Và dụ 2
<?php
echo "I\"m Mr.Khoi";
echo 'Với tôi \'đô là không phải là tất cả\'';
Ä á»ƒ nối chuá»—i trong PHP ta sá»� dụng dấu chấm (.)
#Và dụ 3
<?php
$country = "Viet nam";
echo "Hello word" $country;
2 Các hà m xỠlý chuỗi trong PHP
Trong PHP hỗ trợ chúng ta rất nhiỠu các h� m xỠlý chuỗi Bà i viết nà y tôi sẽ giới thiệu những hà m xỠlý chuỗi được sỠdụng nhiỠu v� phổ biến trong PHP
Trang 10strlen ($string)
Hà m nà y đếm tổng số ký tự trong một chuỗi Bao gồm cả ký tự khoảng trắng
<?php
$name = "Phạm Kỳ Khôi";
echo strlen($name); //Kq là 12
trim ($string)
Hà m nà y cho phép cắt khoảng trắng ở hai đầu của chuỗi
<?php
$email = " phamkykhoi.info@gmail.com ";
echo strlen($email); //Kq là 27
echo strlen(trim($email)); //Kq là là 25
strtolower ($string)
Hà m nà y cho phép chuyển chữ in hoa thà nh chữ in thưỠng�
<?php
$title = "WEB24H.COM.VN";
echo strtolower($title);
//Kq là "web24h.com.vn"
strtoupper ($string)
Hà m nà y chuyển tất cả các ký tự in thưỠng th� nh in hoa
<?php
$title = "hoc lap trinh web tai web24h.com.vn";
echo strtoupper($title);
//Kq là "HOC LAP TRINH WEB TAI WEB24H.COM.VN"
ucfirst ($string)
Hà m nà y chuyển kà tự đầu tiên của chuỗi thà nh chữ in hoa
<?php
$title = "xỠlý chuỗi trong PHP";
echo ucfirst($title);
//Kết quả "XỠlý chuỗi trong PHP"
ucwords ($string)
Hà m nà y chuyển các ký tự đầu của một từ thà nh in hoa
<?php
$title = "hoc php o dau";
echo ucwords($title);
//Kết quả "Hoc Php O Dau"
ltrim ($string, $ki_tu)
Loại bỠnhững ký tự được chỉ định bên trái của chuỗi.�
<?php
$title = "/Hoc PHP ở Hà Nội";
echo ltrim($title, "/");
//Kết quả: "HỠc PHP ở H� Nội";