Mảng là một danh sách chứa thông tin với khóa và được lưu trữ
với một tên biến. Một mảng có dòng thông tin và khóa, khóa là cột đầu tiên
trong bảng. Khóa phải đồng nhất để dễ tổ chức và sử dụng_đào tạo thiết kế web
1. Cú pháp của mảng.
1.1.
Mảng một chiều
<?php
$husband = array("firstname"=>"Albert",
"lastname"=>",instein",
"age"=>"124");
echo $husband[firstname];
?>
$husband = array("firstname"=>"Albert",
"lastname"=>",instein",
"age"=>"124");
echo $husband[firstname];
?>
Kết
quả xuất ra màn hình 1
Chú ý: Sử dụng => để thay cho dấu bằng, khi ấn định
những giá trị đến khóa của mảng. Điều này cho bạn xuất ra “Albert” và tất cả
giá trị vẫn được lưu trữ trong biến $husband.
Bạn cũng có thể đặt một mảng giá trị theo cách sau:
$husband[“firstname”]
= “Albert”;
$husband[“lastname”]
= “Einstein”;
$husband[“age”]
= 124;
1.2.
Mảng đa chiều:
Ví dụ:
<?php
$table1 =
array(“husband” => array(“firstname”=>”Albert”,
“lastname”=>”Einstein”,
“age”=>124),
“wife”
=> array(“firstname”=>”Mileva”,
“lastname”=>”Einstein”,
“age”=>123));
//do the
same for each table in your restaurant
?>
Nếu muốn xuất firstname của mọi người, ta dùng hàm
xuất như sau:
<?php
echo
$table1[“husband”][“firstname”];
echo
“ & “;
echo
$table1[“wife”][“firstname”];?>
Kết quả Hình
2.
Để đơn giản
ta có thể dùng một cách khác để lưu trữ mảng như sau:
<?php
$flavor[]
= “blue raspberry”;
$flavor[]
= “root beer”;
$flavor[] =
“pineapple”;
?>
Để xuất thông tin ra ta thực hiện câu lệnh như sau:
echo
$flavor[0]; //xuất “blue raspberry”
echo
$flavor[1]; // xuất “root beer”
echo
$flavor[2]; // xuất “pineapple”
2. Sắp xếp mảng
PHP
cung cấp nhiều cách để lưu trữ giá trị của mảng, sau đây là mô tả một vài hàm sắp xếp trong mảng.
arsort(array)
:Sắp xếp một mảng giảm theo giá trị và duy trì quan hệ của khóa/ giá trị
asort(array):
Sắp xếp một mảng tăng theo giá trị và duy trì quan hệ của khóa/ giá trị
rsort(array):
Sắp xếp một mảng giảm theo giá trị
sort(array):
Sắp xếp một mảng tăng theo giá trị
Ví dụ:
<?php
$flavor[]
= "blue raspberry";
$flavor[]
= "root beer";
$flavor[]
= "pineapple";
sort($flavor);
print_r($flavor);
?>
Kết quả như
Hình 3
Chú ý:
Ở đây dùng hàm mới prinf_r, chức năng của hàm này là xuất thông tin về một biến mà người ta có thể đọc nó dễ dàng. Nó thường được dùng để kiểm tra giá trị của mảng, một cách cụ thể.
Ở đây hàm
sort dùng để sắp xếp theo thứ tự Alpha
3.
Cấu trúc Foreach
Ví dụ:
<?php
$flavor[]
= "blue raspberry";
$flavor[]
= "root beer";
$flavor[]
= "pineapple";
echo
"My favorite flavors are:<br>";
foreach
($flavor as $currentvalue) {
//these
lines will execute as long as there is a value in $flavor
echo
$currentvalue . "<br>\n";
}
?>
Kết quả như
Hình 4
Khi PHP xử
lý trong mảng. Nó giữ vị trí của các khóa bằng cách sử dụng con trỏ trong mảng.
Khi hàm
foreach được gọi con trỏ chờ giá trị đầu tiên trong mảng. Cuối hàm con trỏ
chuyển xuống khóa cuối cùng trong mảng.
Vị trí của con trỏ có thể là công cụ trợ giúp.
Ví dụ:
1/ Thay đổi
moviesite như sau:
<?php
session_start();
//kiểm tra
username và password
if
($_SESSION['authuser'] != 1) {
echo
"Sorry, but you don't have permission to view this
page,
you loser!";
exit();
}
?>
<html>
<head>
<title>My
Movie Site</title>
</head>
<body>
<?php
include "header.php"; ?>
<?php
$favmovies
= array("Life of Brian",
"Stripes",
"Office
Space",
"The
Holy Grail",
"Matrix",
"Terminator
2",
"Star
Wars",
"Close
Encounters of the Third Kind",
"Sixteen
Candles",
"Caddyshack");
/*/delete
these lines:
function
listmovies_1()
{
echo
"1. Life of Brian<br>";
echo
"2. Stripes<br>";
echo
"3. Office Space<br>";
echo
"4. The Holy Grail<br>";
echo
"5. Matrix<br>";
}
function
listmovies_2()
{
echo
"6. Terminator 2<br>";
echo
"7. Star Wars<br>";
echo
"8. Close Encounters of the Third Kind<br>";
echo
"9. Sixteen Candles<br>";
echo
"10. Caddyshack<br>";
}
//kết thúc
dòng xóa*/
if
(isset($_REQUEST['favmovie']))
{
echo
"Welcome to our site, ";
echo
$_SESSION['username'];
echo
"! <br>";
echo
"My favorite movie is ";
echo
$_REQUEST['favmovie'];
echo
"<br>";
$movierate
= 5;
echo
"My movie rating for this movie is: ";
echo
$movierate;
} else
{
echo
"My top 10 movies are:<br>";
if
(isset($_REQUEST['sorted']))
{
sort($favmovies);
}
/*/delete
these lines
echo
$_REQUEST['movienum'];
echo "
movies are:";
echo
"<br>";
listmovies_1();
if
($_REQUEST['movienum'] == 10) listmovies_2();
//end of
deleted lines*/
foreach
($favmovies as $currentvalue)
{
echo
$currentvalue;
echo
"<br>\n";
}
}
?>
</body>
</html>
2/ Thay đổi
movie1.php như sau:
<?php
session_start();
$_SESSION['username']
= $_POST['user'];
$_SESSION['userpass']
= $_POST['pass'];
$_SESSION['authuser']
= 0;
// kiểm tra
username và password
if
(($_SESSION['username'] == 'Joe') and
($_SESSION['userpass']
== '12345'))
{
$_SESSION['authuser']
= 1;
} else {
echo
"Sorry, but you don't have permission to view this
page,
you loser!";
exit();
}
?>
<html>
<head>
<title>Find
my Favorite Movie!</title>
</head>
<body>
<?php
include "header.php"; ?>
<?php
$myfavmovie
= urlencode("Life of Brian");
echo
"<a href='moviesite.php?favmovie=$myfavmovie'>";
echo
"Click here to see information about my favorite movie!";
echo
"</a>";
echo
"<br>";
/*/delete
these lines
echo
"<a href='moviesite.php?movienum=5'>";
echo
"Click here to see my top 5 movies.";
echo
"</a>";
echo
"<br>";
//end of
deleted lines*/
//change
the following line:
echo
"<a href='moviesite.php'>";
echo
"Click here to see my top 10 movies.";
echo
"</a>";
echo
"<br>";
echo
"<a href='moviesite.php?sorted=true'>";
echo
"Click here to see my top 10 movies, sorted alphabetically.";
echo
"</a>";
?>
</body>
</html>
3/ Cho chạy
login.php và click vào dòng
Bạn sẽ thấy
kết quả như hình 5
Quay
lại file movie1.php click vào:
Bạn sẽ thấy kết quả như sau như hình 6
Ở đây đã có sự sắp xếp theo thứ tự alpha
Cách
thức hoạt động :
Trước tiên
bạn đặt danh sách động trong biến, $favmovies với mảng. Sau đó bạn có thể để
danh sách movie từng cái một bằng cách sử dụng foreach trong file
moviesite.php. Bạn cũng có thể thêm một liên kết để người sử dụng sắp xếp danh
sách theo alphabel bằng cách dùng biến có tên $_REQUEST[sorted].
Khi biến này là true thì hàm sort() được thực thi và bạn truyền biến true
qua URL trong liên kết.
Các bạn có thể tìm đọc thêm tài liệu trong mục học lập trình PHP để bổ sung thêm kiến thức
0 nhận xét:
Đăng nhận xét