Ôn tập kiến thức PHP

Ô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ả:

ket-qua-lap-qua-day

– 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ả:

ket-qua-lap-qua-day

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 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ẹ

<?php
echo 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

formatDescriptionExample
dNgày trong tháng, có 0 với các ngày 1 đến 1001 to 31
DTên thứ trong tuần (tên ngắn)Mon through Sun
wSố thứ tự của ngày trong tuần0 (for Sunday) through 6 (for Saturday)
zNgày trong năm0 through 365
WTuần trong nămExample: 42 (the 42nd week in the year)
mSố thứ tự của tháng01 through 12
MTên ngắn của thángJan through Dec
YNăm có 4 ký số1999 or 2003
aKý hiệu buổi sang, buổi chiều, chữ thườngam or pm
hGiờ theo kiểu 12 giờ, leading zeros01 through 12
HGiờ theo kiểu 24 giờ, leading zeros00 through 23
iPhút, leading zeros00 to 59
sGiây, with leading zeros00 through 59
uMicroseconds (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:

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;
}
?>