Code cơ bản trong PHP – phần 2

Bài code cơ bản trong PHP – phần 2 giải thích các toán tử, lệnh lặp while do, lệnh nhúng code include require, lệnh switch, mảng và tham số cho trang.

Mục lục


Toán tử trong php

Các toán tử số học trong php

Dùng để thực hiện cộng, trừ, nhân, chia, chia lấy dư (%)

Toán tửGiải thíchVí dụKết quả
+Cộng hai số5+4;9
Trừ hai số7-1;6
*Nhân hai số4*2;8
/Chia hai số9/4;2.25
%Chia lấy phần dư19%31

Các toán tử so sánh trong php

Dùng để thực hiện các phép so sánh trong các điều kiện

Toán tửGiải thíchVí dụKết quả
==So sánh bằng5==4False
!=Không bằng7!=1;True
===So sánh bằng giá trị và kiểu4===”4″;False
Lớn lơn9>4;False
>=Lớn hơn hoặc bằng7>=7True
Nhỏ hơn8<3False
<=Nhỏ hơn hoặc bằng9>1true

Các toán tử logic trong php

Toán tử logic là các tổ hợp các giá trị boolean.

Toán tửGiải thíchVí dụKết quả
&&Là phép “và”, cho kết quả true khi cả hai vế đều true, ngược lại là false$tuoi<6 && $phai==0Chỉ cho kết quả là true nếu giá trị của biến $tuoi nhỏ hơn 6 và giá trị của biến $phai là 0
||Là phép hoặc, cho kết quả true khi có 1 trong 2 vế là true, cho kết quả false nếu cả hai vế là false$diem>8 || $phai==1Cho kết quả là khi giá trị của biến diem lớn hơn 8 hoặc giá trị của biến $phai là 1
!Phủ định!($diem<=5)Cho kết quả true nếu giá trị của biến điểm là lớn hơn 5

Các toán tử tăng giảm trong php

Dùng để tăng hoặc giảm giá trị của một biến

Toán tửGiải thíchVí dụKết quả
++Tăng 1$x=3; $x++;4
Giảm 1$x=9;  $x–;8
+=Tăng lên với giá trị chỉ định$x=2; $x+=3;5
-=Giảm đi giá trị chỉ định$x=8; $x-=2;6
*=Nhân lên giá trị chỉ định$x=3; $x*=4;12
/=Chia đi giá trị chỉ định$x=8; $x/=4;2

Vòng lặp while trong php

Vòng lặp while trong php dùng để thực hiện lặp lại các lệnh nào đó trong khi điều kiện là đúng. Nghĩa là điều kiện nêu ra có giá trị true thì các lệnh trong vòng lặp sẽ được thi hành. Phạm vi của vòng lặp đặt trong dấu { } , còn điều kiện thì đặt trong dấu ( )

Cú pháp vòng lặp while trong php

while (<Điều kiện>){
    Khối lệnh ;
}

Ví dụ vòng lặp while trong php

<?php
$tong=0;
$i=1;
while ($i<=100) {
     $tong+=$i; 
     $i++;
}
echo "Tổng=$tong";
?>

Trong vòng lặp while, bạn cũng có thể dùng lệnh break để thoát khỏi vòng lặp như trong vòng lặp for

Vòng lặp do while trong php

Vòng lặp do while trong php dùng để thực hiện lặp lại các lệnh nào đó rồi kiểm tra điều kiện, nếu điều kiện là đúng thì quay lại lặp tiếp. Điều kiện được kiểm tra sau khi thi hành khối lệnh. Phạm vi của vòng lặp đặt trong dấu { } , còn điều kiện thì đặt trong dấu ( ), sau điều kiện là dấu chấm phẩy ( ; )

Cú pháp vòng lặp do while trong php

do {
Khối lệnh;
} while (<điềukiện>);

Ví dụ vòng lặp do while trong php

<?php
tong=0; $i=1;
do {
   $tong+=$i;
   $i+=2;
} while ($i<=100);
echo "Tổng các số lẻ=$tong";
?>

Trong vòng lặp do , bạn có thể dùng lệnh break để thoát như trong lệnh for.

Lệnh switch trong php

Switch là lệnh trong php để lựa chọn các giá trị của biến hay biểu thức rồi thực thi các mã lệnh tùy theo các giá trị được liệt kê. Sau đây là ví dụ:

<?php
$diem = 3;
switch ($diem){
    case 10:
    case 9:
        $xeploai="Xuất sắc";
        break;
    case 8:
       $xeploai="Giỏi";
       break;
    case 7:
       $xeploai="Khá";
       break;
    case 6:
    case 5:
       $xeploai="Trung bình";
        break;
    default:
      $xeloai="Yếu";
}//switch
?>

Mảng trong php

Mảng là biến chứa nhiều phẩn tử, mỗi phần tử có thể là 1 giá trị số hoặc chữ…Mỗi phần tử trong 1 mảng có thể được đặt tên hoặc chỉ số. Bạn có thể thêm bớt phần tử, hay truy xuất giá trị của các phần tử trong mảng dễ dàng.

1. Khai báo mảng trong php

Để khai báo mảng trong php, có nhiều cách, dùng từ khóa array hoặc [ ]

<?php 
$TênMảng = array(); // khai báo mảng rỗng
$TênMảng = array(GiáTrị1, GiáTrị2, GiáTrị3…); //khai báo mảng mà các phần tử đánh bằng chỉ số
$TênMảng = [GiáTrị1, GiáTrị2, GiáTrị3...]; //mảng dùng chỉ số để đánh thứ tự các phần tử

$TênMảng =array("key1" =>GiáTrị1, "key2" => GiáTrị2, "key3" => GiáTrị3);  // khai báo mảng mà các phần tử có key, tức mỗi phần tử có tên
$TênMảng =["key1" =>GiáTrị1, "key2" => GiáTrị2, "key3" => GiáTrị3]; 
?>

Ví dụ khai báo mảng trong php

<?php
$giohang = array(); //khai báo mảng rỗng
$diem = array(0,5,7); // 3 phần tử chỉ số là 0,1,2.
$thu = ["CN","T2","T3","T4","T5","T6","T7"]; // 7 phần tử chỉ số là 0,1,2,4,5,6
$sanpham = array("idSP"=> 5,"TenSP"=> "Gạo","Gia"=>12000);
$sp = ["id"=> 1,"Ten"=> "Gạo","Gia"=>20000];
$diem[] = 9;  //Thêm 9 vào cuối mảng è $diem=array(0,5,7,9)
$sanpham["SL"] = 3; //thêm 3 làm phần tử cuối của mảng, key là SL
?>

Như vậy trong php có hai cách đặt các phần tử trong mảng: cách thứ nhất là dùg chỉ số, cách thứ hai là dùng key (đặt tên cho từng phần tử)

2. Hiện mảng và truy xuất phần tử của mảng

  • Để hiện nhanh toàn bộ mảng, bạn dùng lệnh print_r
print_r($TênMảng); 
  • Truy xuất phần tử trong mảng theo chỉ số thì code như sau
$TênMảng[chiso] ; 
  • Truy xuất phần tử trong mảng theo key thì code như sau
$TênMảng["key"];

Ví dụ:

<?php
$sp = ["id"=> 1,"Ten"=> "Gạo","Gia"=>20000];
echo $sp["Ten"], "<br>"; //Gạo
$thu=["CN","T2","T3","T4","T5","T6","T7"]; // 7 phần tử chỉ số là 0,1,2,4,5,6
echo $thu[3]. "<br/>"; //5T4
print_r($sp);  echo "<br>";
print_r($thu);  
?>

Kết quả hiện:

Hàm print_r giúp hiện nhanh một mảng nhưng thường dùng cho web dev để debug. Còn muốn hiện mảng một cách thân thiện thì phải duyệt qua mảng , lấy từng phần từ để hiện.

3. Duyệt qua các phần tử của mảng dùng vòng lặp for

Với mảng mà các phần tử được đánh chỉ số liên tục nhau, dùng vòng lặp for như sau :

<?php 
$soluong=array(8,10,9) ;
for ( $i=0 ; $i<count($soluong) ; $i++ ) {
     echo "Giá trị thứ $i là $soluong[$i]<br>";
}
?>

4. Duyệt qua các phần tử dùng vòng lặp while

Liệt kê các phần tử của dãy có chỉ số dạng key.

<?php 
$sanpham=array("id" =>5, "Ten"=>"Gạo", "Gia"=>12000, "SL"=>3);
reset($sanpham);
while (key($sanpham) != null) {
  echo key($sanpham) . " =  " . current($sanpham) . "<br/>";
  next($sanpham); 
}
?>

5. Duyệt qua các phần tử dùng vòng lặp foreach

<?php  $daySP = ["5"=>"Mắm","3"=>"Muối","1"=>"Gạo","4"=>"Dưa" ] ; ?>
<table border=1 width=200>
<tr> <th>idSP</th> <th> TênSP </th> </tr>
<?php foreach ($daySP as $k => $v ) { ?>
<tr> <td> <?=$k?> </td> <td> <?=$v?> </td> </tr>
<?php } ?>
</table>

Hoặc

<?php $daySP=array("5"=>"Mắm","3"=>"Muối","1"=>"Gạo","4"=>"Dưa"); ?>
<table border=1 width=200>
<tr> <th>idSP</th> <th> TênSP </th> </tr>
<?php
  foreach ($daySP as $k => $v ) {
   echo " <tr> <td> $k </td> <td> $v </td> </tr>";
  }
?>
</table>

6. Các hàm trong mảng

  • current($mang)   => Trả về giá trị của phần tử hiện hành
  • key($mang)  =>  Trả về key của phần tử hiện hành
  • next($mang)  =>  Đưa con trỏ tới phần tử tiếp theo của mảng
  • prev($mang)  =>  Đưa con trỏ tới phần tử tiếp theo của mảng
  • reset($mang)  => Đưa con trỏ về phần tử đầu của mảng
  • end($mang)  =>  Đưa con trỏ về phần tử cuối của mảng
  • count($mang) => Đếm số phần tử của mảng
  • in_array(giátrị, $mảng) => Tìm giátrị trong mảng, true nếu có, false là không có
  • explode(“

Ví dụ:

<?php 
$transport = array('foot', 'bike', 'car', 'plane');
$mode = current($transport); // $mode = 'foot';
$mode = next($transport);    // $mode = 'bike';
$mode = current($transport); // $mode = 'bike';
$mode = prev($transport);    // $mode = 'foot';
$mode = end($transport);     // $mode = 'plane';
$mode = current($transport); // $mode = 'plane';
?>
<?php
$os = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os)) echo "Got Irix"."<br/>";
?>
<?php
$str="30/4/2020";
$arr = explode("/", $str); //[20,4,2020] 
echo "Ngày : ", $arr[0],"<br>";
echo "Tháng: ", $arr[1],"<br>";
echo "Năm : ", $arr[2],"<br>";
?>

7. Mảng hai chiều

Mảng hai chiều là mảng mà các phần tử của nó là mảng một chiều; Ví dụ:

$listsv = [
   [ 'masv'=>'PS123456', 'hoten'=>Nguyễn Văn Tèo'] ,
   [ 'masv'=>'PS654321', 'hoten'=>Nguyễn Văn Tý'] . 
   [ 'masv'=>'PS246357', 'hoten'=>Nguyễn Thị Lượm'] 
];

Lặp qua mảng hai chiều tương tự như mảng 1 chiều. Ví dụ:

<?php
$listsv = [
   [ 'masv'=>'PS123456', 'hoten'=>'Nguyễn Văn Tèo'] ,
   [ 'masv'=>'PS654321', 'hoten'=>'Nguyễn Văn Tý'] , 
   [ 'masv'=>'PS246357', 'hoten'=>'Nguyễn Thị Lượm'] 
];
foreach($listsv as $sv ) {
   echo "<p>", $sv['masv'], " : " , $sv['hoten']  , "</p>";
}
?>

Truyền tham số cho trang

Mỗi trang web động thường có tham số. Tham số của trang chính là các biến được truyền trang trong địa chỉ của trang. Nhờ có tham số mà dữ liệu trả về mới linh động và uyển chuyển.

Có thể nói, tham số chính là sức mạnh của web động, là cách thức để lập trình viên thay đổi dữ liệu và định dạng cho trang tùy ngữ cảnh.

Các tham số được đặt trong địa chỉ của trang, phía sau tên trang và cách biệt bởi dấu hỏi (?). Các tham số cách nhau bởi dấu &

Ví dụ về tham số của trang web

Trang index.php có 2 tham số lang và page được gõ như sau: http://abc.com/site/index.php?lang=vi&page=lienhe . tham số lang có giá trị là vi còn tham số page có giá trị là lienhe. Cách biệt giữa các tham số và tên trang là dấu ? , cách biệt giữa các tham số là dấu &

Vậy một trang web có bao nhiêu tham số? Tùy bạn ấn định, tùy yêu cầu của chức năng, nghiệp vụ, có khi không cần tham số, có khi rất nhiều. Ví dụ khi vào google, gõ chữ longnv.name.vn để search thì địa chỉ trang kết quả tìm kiếm của google sẽ như sau (có 9 tham số)

https://www.google.com/search?safe=active&sxsrf=ALeKk00zNz6q0xdanFLQWwmGgaHDTaPpEg%3A1604541743248&source=hp&ei=L12jX4qGDa-Ur7wP89CgqA8&q=longnv.name.vn&oq=longnv.name.vn&gs_lcp=CgZwc3ktYWIQAzoHCCMQ6gIQJzoECCMQJzoFCAAQsQM6AgguOgIIADoICAAQsQMQgwE6BQguELEDUKsRWPMjYKQraAFwAHgAgAGPAYgBqAmSAQQxMy4xmAEAoAEBqgEHZ3dzLXdperABCg&sclient=psy-ab&ved=0ahUKEwjK2Yblp-rsAhUvyosBHXMoCPUQ4dUDCAc&uact=5

Tiếp nhận giá trị tham số trong trang php

Trong trang php, tiếp nhận tham số bằng cú pháp $_GET. Ví dụ:

<?php
    $ngonngu = $_GET['lang'];
    $trang  = $_GET['page'];
    echo "Ngôn ngữ : ", $ngonngu , "<br>";
    echo "Trang: " , $trang;
?>

Test: gõ địa chỉ của trang web của bạn, và thử truyền tham số …?lang=vi&page=lienhe

Bởi vì code php chạy trên server, mà user thì sử dụng trình duyệt ngồi ở xa (qua mạng), cho nên nhờ giá trị của tham số mà lập trình viên mới biết user họ muốn gì mà lập trình trả dữ liệu về cho họ.

Mời bạn xem các bài liên quan : Code cơ bản trong php – phần 1 Code cơ bản trong php – phần 3