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
- Vòng lặp while trong php
- Vòng lặp do while trong php
- Lệnh switch trong php
- Mảng trong php
- Truyền tham số cho trang
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ích | Ví 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%3 | 1 |
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ích | Ví dụ | Kết quả |
== | So sánh bằng | 5==4 | False |
!= | Không bằng | 7!=1; | True |
=== | So sánh bằng giá trị và kiểu | 4===”4″; | False |
> | Lớn lơn | 9>4; | False |
>= | Lớn hơn hoặc bằng | 7>=7 | True |
< | Nhỏ hơn | 8<3 | False |
<= | Nhỏ hơn hoặc bằng | 9>1 | true |
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ích | Ví 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==0 | Chỉ 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==1 | Cho 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ích | Ví 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 và Code cơ bản trong php – phần 3