Ôn tập kiến thức PHP giúp bạn nhớ các kiến thức quan trọng trong lập trình php để code tiếp tục.
Array trong php
– Array (mảng) là biến chứa nhiều giá trị, nhờ biến này mà bạn có thể lưu nhiều giá trị trong một biến để xử lý Ví dụ:
<?php
$giohang = array(); //khai báo mảng rỗng
$diem = array(0,5,7); // 3 phần tử của mảng chỉ số là 0,1,2.
$sp = array('id'=> 5,'ten'=> "Gạo",'gia'=>12000); //3 phần tử của maảng có tên là id, ten, gia
$sv1 = array('masv' => "PS12345", 'ht'=> "Đào Kho Báu", 'ns' =>'1/4/2002');
$sv2 = array('masv' => "PS54321", 'ht'=> "Đào Được Vàng", 'ns' =>'4/1/2001');
$sv3 = array('masv' => "PS54320", 'ht'=> "Mai Thanh Toán", 'ns' =>'8/3/2002');
$listsv = array ($sv1, $sv2, $sv3);
?>
– Truy xuất phần tử mảng: Dùng chỉ số hoặc key. Ví dụ:
<?php
echo $diem[1]. "<br/>"; //5
echo $sp['ten'], "<br>"; //Gạo
echo $listsv[2]['ht']; //Mai Thanh Toán
?>
– Duyệt qua các phần tử của mảng dùng vòng lặp foreach
<?php $sp = array('id'=> 5,'ten'=> "Gạo",'gia'=>12000); ?>
<table border="1" width="200">
<?php foreach ($sp as $k => $v ) { ?>
<tr>
<td> <?php echo $k; ?> </td>
<td> <?php echo $v; ?> </td>
</tr>
<?php } ?>
</table>
Kết quả:
– hoặc viết code theo kiểu đơn giản
<?php $sp = array('id'=> 5,'ten'=> "Gạo",'gia'=>12000,'sl'=>3); ?>
<table border="1" width="200">
<?php foreach ($sp as $k => $v ) {
echo "
<tr>
<td> $k </td>
<td> $v </td>
</tr>
";
}?>
</table>
Kết quả:
– Hiện mảng listsv
<?php
$sv1 = array('masv' => "PS12345", 'ht'=> "Đào Kho Báu", 'ns' =>'1/4/2002');
$sv2 = array('masv' => "PS54321", 'ht'=> "Đào Được Vàng", 'ns' =>'4/1/2001');
$sv3 = array('masv' => "PS54320", 'ht'=> "Mai Thanh Toán", 'ns' =>'8/3/2002');
$listsv = array ($sv1, $sv2, $sv3);
?>
<table cellpadding="6" cellspacing="0" width="450" border="1">
<?php foreach ($listsv as $row ) { ?>
<tr>
<td> <?php echo $row['masv']; ?> </td>
<td> <?php echo $row['ht']; ?> </td>
<td> <?php echo $row['ns']; ?> </td>
</tr>
<?php } ?>
</table>
Kết quả:
Các hàm thường dùng với mảng
Trong PHP, có một số hàm thường dùng trong mảng nhưng đây là hai hàm thường dùng nhất:
- count($day) : đếm phần tử
- in_array(giá trị tìm, $mảng,$kieu);
<?php
$lang="vi";
$arr = array("vi","en","fr");
?>
<?php
if (in_array($lang, $arr)>0 ) echo "Giá trị $lang hợp lệ";
else echo "Giá trị $lang không hợp lệ";
?>
Lệnh chuyển hướng trong php
Trong một số trường hợp lập trình, bạn sẽ có nhu cầu chuyển người dùng sang 1 trang web khác. Để thực hiện chuyển hướng, bạn dùng lệnh header(“location:url”);
Ví dụ 1: nếu ai xem trang vào buổi sáng thì cho xem trang index1.html , ngược lại thì cho xem trang index2.html
<?php
if (date('H')<12) header('location:index1.html');
else header('location:index2.html');
?>
Ví dụ 2: nếu biến dalogin là false thì chuyển người dùng sang trang login
<?php
$dalogin=false;
if ($dalogin==false) header('location:login.html');
?>
Đây là trang dành cho người đã đăng nhập
Nhúng file trong php
Trong PHP, lệnh include và require giúp bạn nhúng file (php, css, js, htm) vào trang web.
<?php
include "TenFile" ; // hoặc
require "TenFile" ; // hoặc
include_once "TenFile" ; // để đảm bảo include chỉ 1 lần
require_once "TenFile" ;
?>
- Tênfile để nhúng có thể là php, cũng có thể là file html.
- Lệnh rquire: khi file cần nhúng không tồn tại thì trang web sẽ thoát ngay, còn include thì không.
- Lệnh require_once và include_once : việc nhúng chỉ xảy ra 1 lần khi bạn nhúng nhiều lần với cùng 1 file.
Biến session trong php
Biến session là những biến đặc biệt, đặc biệt ở chỗ: biến vẫn còn tồn tại sau khi trang web chạy xong. Nhờ đó, trong những request sau, bạn có thể dùng lại giá trị đã tính toán ở request trước đó của user.
Khai báo và sử dụng biến session: $_SESSION[“TênBiến“]
<?php
session_start();
echo ++$_SESSION['count'];
if ($_SESSION['count']>=10) unset($_SESSION['count']);
?>
Chú ý: trước khi dùng session, ở đầu file phải có lệnh session_start();
Tiếp nhận biến trong request gửi từ trình duyệt
Giao thức http cung cấp 2 phương thức request từ trình duyệt lên server, đó là get và post. Nghĩa là request từ trình duyệt lên server có 2 dạng: get và post.
PHP có sẵn hai mảng $_GET và $_POST dùng để chứa các biến gửi lên từ trình duyệt theo phương thức get/post. Mảng $_GET chứa các biến trong request dạng get còn mảng $_POST chứa các biến trong reuquest dạng post.
Các hàm có sẵn trong PHP
Các hàm có sẵn trong php rất nhiều (hàng trăm hàm) bạn tha hồ sử dụng, như các hàm xử lý chuỗi, các hàm xử lý file, các hàm xử lý ngày tháng, các hàm xử lý số…Sau đây chỉ là một số hàm thường dùng thôi, các hàm khác bạn tra cứu thêm (có link phía dưới)
Các hàm chuỗi trong php
Hàm strlen – hàm đếm số ký tự
<?php$str = 'abcdef';
echo strlen($str);
?>
Hàm strpos – tìm vị trí chuỗi con trong chuỗi mẹ
<?php
$mystring = 'Vui từng phút giây';
$findme = 'ui';
$pos = strpos($mystring, $findme);
if ($pos === false) {
echo "$findme không tìm thấy trong $mystring";
} else {
echo " $findme tìm thấy trong $mystring ở vị trí $pos";
}
?>
Hàm str_replace – tìm và thay thế chuỗi
<?php
$str = "abc_ABC_abc";
echo str_replace("abc","xyz",$str);?>
Hàm strip_tags – giúp xóa các tag html trong chuỗi
<?php
$text = '<p>Test paragraph.</p> <?=$aa;?> <a href="#fragment">Other text</a>';
echo strip_tags($text), "<br/>";?>
Hàm strstr – trích chuỗi con trong chuỗi mẹ
<?php$email = 'name@example.com';
$domain = strstr($email, '@');
echo $domain; // @example.com
?>
Hàm substr – trích chuỗi con trong chuỗi mẹ
<?phpecho
substr("abcdef", 0, -1), "<br/>"; // returns "abcde"echo
substr("abcdef", 2, -1), "<br/>"; // returns "cde"echo
substr("abcdef", 4, -4), "<br/>"; // returns ""echo
substr("abcdef", -3, -1) ,"<br/>"; // returns "de"?>
Hàm mb_convert_case – đổi chữ hoa thường
<?php
$str = "lập trình ứng dỤng ";echo
mb_convert_case($str, MB_CASE_UPPER ,'utf-8'),"<br>";echo
mb_convert_case($str, MB_CASE_LOWER ,'utf-8'),"<br>";echo
mb_convert_case($str, MB_CASE_TITLE ,'utf-8'),"<br>";?>
Hàm md5 – mã hóa chuỗi theo giải thuật md5
<?php echo md5('123456'); ?>
Hàm sha1 – mã hóa chuỗi theo giải thuật sha1.
<?php echo sha1('123456'); ?>
Các hàm thời gian trong php
Hàm time – trả về timestamp của thời điểm hiện hành.
<?php echo time(); ?>
Hàm checkdate – giúp kiểm tra ngày hợp lệ
<?php echo (checkdate(13,17,2010)==true)? "Hợp lệ":"không hợp lệ"; ?>
Hàm date – định dạng ngày
Now: <?php echo date("d/m/Y H:i:s");?> <br />
Thứ trong tuần: <?php echo date("w");?> <br />
Tên thứ trong tuần: <?php echo date("D") ;?> <br />
Tên thứ trong tuần: <?php echo date("l");?> <br />
Tên tháng: <?php echo date("M") ;?> <br />
Tên tháng:<?php echo date("F");?> <br />
Ngày trong năm: <?php echo date("z");?> <br />
Bảng quy định format của hàm date
format | Description | Example |
d | Ngày trong tháng, có 0 với các ngày 1 đến 10 | 01 to 31 |
D | Tên thứ trong tuần (tên ngắn) | Mon through Sun |
w | Số thứ tự của ngày trong tuần | 0 (for Sunday) through 6 (for Saturday) |
z | Ngày trong năm | 0 through 365 |
W | Tuần trong năm | Example: 42 (the 42nd week in the year) |
m | Số thứ tự của tháng | 01 through 12 |
M | Tên ngắn của tháng | Jan through Dec |
Y | Năm có 4 ký số | 1999 or 2003 |
a | Ký hiệu buổi sang, buổi chiều, chữ thường | am or pm |
h | Giờ theo kiểu 12 giờ, leading zeros | 01 through 12 |
H | Giờ theo kiểu 24 giờ, leading zeros | 00 through 23 |
i | Phút, leading zeros | 00 to 59 |
s | Giây, with leading zeros | 00 through 59 |
u | Microseconds (từ PHP 5.2.2) | Example: 654321 |
Hàm strtotime – đổi chữ diễn tả ngày thành dạng timestamp
Now: <?= strtotime("now");?> <br />
+1 day: <?= date("d/m/Y H:i:s", strtotime("+1 day") );?> <br/>
+1 week: <?= date("d/m/Y H:i:s", strtotime("+1 week") );?> <br/>
next Thursday: <?= date("d/m/Y", strtotime("next Thursday") )?> <br>
last Monday: <?= date("d/m/Y", strtotime("last Monday") )?> <br />
10 September 2000: <?=date("d/m/Y",strtotime("15 July 1990") )?><br/>
Các hàm quản lý file trong php
Hàm basename – lấy tên file (phần cuối) trong 1 url dài
<?php
$filename = "/php01/test/ham.php";
echo basename($filename); // ham.php
?>
Hàm filesize – lấy kích thước của 1 file
<?php
$filename = "dendamuoi.html";
echo filesize($filename).' bytes';
?>
Hàm file_exist – giúp kiểm tra 1 file có tồn tại không
<?php
$f = "a.jpg";
if (file_exists($f)==true) echo "Có file"; else echo "Không có file";
?>
Hàm unlink – giúp xóa file
<?php unlink("readme2.txt"); ?>
Hàm copy – Sao chép file
<?php copy("readme.txt", "readme2.txt") ;?>
Hàm file_get_contents – đọc nội dung của file
<?php $str = file_get_contents("readme2.txt"); echo $str; ?>
Hàm file_put_contents – Ghi giá trị vào file
Nếu file chưa có sẽ được tạo ra, nếu có sẽ bị ghi đè trừ phi $flag có giá trị là FILE_APPEND
<?php $filename = 'counter.txt'; $str = "19686"; file_put_contents($filename, $str);//Nếu có cờ FILE_APPEND thì str sẽ thêm vào file ?>
Các hàm php : tham khảo thêm hai link:
- https://www.php.net/manual/en/indexes.functions.php
- https://www.w3schools.com/php/php_ref_overview.asp
Tạo hàm mới trong php
Cú pháp tạo 1 hàm mới trong php như sau:
function <Tên hàm>(<tham số 1>,<tham số 2>,...){
........
[return giá trị;]
}
Ví dụ 1: Hàm trả về 1 chuỗi ngẫu nhiên
<?php function chuoingaunhien($sokytu){ $chuoi="ABCDEFGHIJKLMNOPQRSTUVWXYZWabcdefghijklmnopqrstuvwxyzw0123456789"; for ($i=0; $i < $sokytu; $i++){ $vitri = mt_rand( 0 ,strlen($chuoi) ); $giatri.= substr($chuoi,$vitri,1 ); } return $giatri; } ?>
Ví dụ 2: Hàm trả về thời điểm hiện hành bằng tiếng việt
<?php function LucNayLa() { // Chuyển giờ hệ thống sang tiếng Việt $anh = array("Mon","Tue","Wed","Thu","Fri","Sat","Sun","am","pm",":"); $viet = array ("Thứ hai","Thứ ba","Thứ tư","Thứ năm","Thứ sáu","Thứ bảy", "Chủ nhật", " phút, sáng", " phút, chiều", " giờ " ); $timenow = gmdate("D, d/m/Y - g:i a.", time() + 7*3600); $t = str_replace( $anh, $viet, $timenow); return $t; } ?>
Ví dụ 3: Hàm cắt dấu tiếng việt
<?php function stripUnicode($str){ if(!$str) return false; $unicode = array( 'a'=>'á|à|ả|ã|ạ|ă|ắ|ằ|ẳ|ẵ|ặ|â|ấ|ầ|ẩ|ẫ|ậ', 'A'=>'Á|À|Ả|Ã|Ạ|Ă|Ắ|Ằ|Ẳ|Ẵ|Ặ|Â|Ấ|Ầ|Ẩ|Ẫ|Ậ', 'd'=>'đ', 'D'=>'Đ', 'e'=>'é|è|ẻ|ẽ|ẹ|ê|ế|ề|ể|ễ|ệ', 'E'=>'É|È|Ẻ|Ẽ|Ẹ|Ê|Ế|Ề|Ể|Ễ|Ệ', 'i'=>'í|ì|ỉ|ĩ|ị', 'I'=>'Í|Ì|Ỉ|Ĩ|Ị', 'o'=>'ó|ò|ỏ|õ|ọ|ô|ố|ồ|ổ|ỗ|ộ|ơ|ớ|ờ|ở|ỡ|ợ', 'O'=>'Ó|Ò|Ỏ|Õ|Ọ|Ô|Ố|Ồ|Ổ|Ỗ|Ộ|Ơ|Ớ|Ờ|Ở|Ỡ|Ợ', 'u'=>'ú|ù|ủ|ũ|ụ|ư|ứ|ừ|ử|ữ|ự', 'U'=>'Ú|Ù|Ủ|Ũ|Ụ|Ư|Ứ|Ừ|Ử|Ữ|Ự', 'y'=>'ý|ỳ|ỷ|ỹ|ỵ', 'Y'=>'Ý|Ỳ|Ỷ|Ỹ|Ỵ' ); foreach($unicode as $khongdau=>$codau) { $arr=explode("|",$codau); $str = str_replace($arr,$khongdau,$str); } return $str; } ?>