LTWeb Bai06
LTWeb Bai06
Bài 6
Thao tác trên mảng
2
Thiết kế và lập trình Web
3
Thiết kế và lập trình Web
<?php
$mang = array();
?>
4
Thiết kế và lập trình Web
<?php
$mang = array(10);
?>
5
Thiết kế và lập trình Web
6
Thiết kế và lập trình Web
<?php
$mang_1 = array(1,2,3,4,5);
$mang_2 = array(1=> “Một”, 2=> “Hai”, 3=> “Ba”, 4=> “Bốn”,
5=> “Năm”);
$mang_3 = array(“mot”=>1, “hai”=>2, “ba”=>3, “bon”=>4,
“nam”=>5);
?>
7
Thiết kế và lập trình Web
<?php
$mang_1[] = 6;
$mang_2[6] = “Sáu”;
$mang_3[“sau”] = 6;
?>
8
Thiết kế và lập trình Web
<?php
$gia_tri_1 = $mang_1[0]; → 1
$gia_tri_2 = $mang_2[1]; → “Một”
$gia_tri_3 = $mang_3[“mot”]; → 1
?>
9
Thiết kế và lập trình Web
<?php
$mang_1 = array(1,2,3,4,5,6);
$so_phan_tu = count($mang_1); → 6
?>
10
Thiết kế và lập trình Web
<?php
for($i=0;$i<$số_phần_tử;$i++)
{
Xử lý các phần tử trong mảng (đọc, tính toán, thay
đổi, ...)
với mỗi phần tử: $tên_mảng[i]
}
?>
11
Thiết kế và lập trình Web
12
Thiết kế và lập trình Web
14
Thiết kế và lập trình Web
16
Thiết kế và lập trình Web
<?php
$mang_2_chieu = array(array());
?>
19
Thiết kế và lập trình Web
<?php
$mang_1 = array(array(1,2), array(3,4), array(5,6));
$mang_2 = array(array(1=> “Một”, 2=> “Hai”), array( 3=>
“Ba”, 4=> “Bốn”), array(5=> “Năm”, 6=>”Sáu”));
?>
20
Thiết kế và lập trình Web
<?php
$mang_1[2][3] = 7;
?>
21
Thiết kế và lập trình Web
<?php
$mang_2[2][7] = “Bảy”;
?>
22
Thiết kế và lập trình Web
<?php
$gia_tri_1 = $mang_1[0][0]; → 1
$gia_tri_2 = $mang_2[0][1]; → “Một”
?>
23
Thiết kế và lập trình Web
24
Thiết kế và lập trình Web
25
Thiết kế và lập trình Web
<?php $so_dong=count($mang_2);
for($i=0;$i<$so_dong;$i++)
{ echo “<br>Dòng $i: ”;
foreach ($mang_2[$i] as $key=>$gia_tri)
echo " $key=>$gia_tri ";
}
→ Dòng 0: 1=>Một 2=>Hai
Dòng 1: 3=>Ba 4=>Bốn
Dòng 2: 5=>Năm 6=>Sáu 7=>Bảy
?>
26
Thiết kế và lập trình Web
Quizes
27
Thiết kế và lập trình Web
Quizes
–Cho mảng $multi_array được khai báo như
dưới đây. Cho biết câu lệnh truy xuất đến giá
trị cat trong mảng?
<?php
$multi_array = array("red", "green", 42 => "blue",
"yellow" => array("apple",
9 => "pear",
"banana",
"orange" =>
array("dog","cat","iguana")
)
);
?>
28
Thiết kế và lập trình Web
Quizes
<?php
$s = '12345';
$s[$s[1]] = '2';
echo $s;
?>
30
Thiết kế và lập trình Web
Quizes
<?php
$array = array (0.1 => 'a', 0.2 => 'b');
echo count ($array);
?>
31
Thiết kế và lập trình Web
Quizes
33
Thiết kế và lập trình Web
Sắp xếp mảng có khóa mặc định (người dùng không thiết lập
giá trị cho khoá): dùng hai vòng lặp for lồng nhau để sắp xếp
34
Thiết kế và lập trình Web
3 34 55 5 89 1 21 8 13 2
1 34 55 5 89 3 21 8 13 2
1 5 55 34 89 3 21 8 13 2
………………………………
1 2 3 5 8 13 21 34 55 89
35
Thiết kế và lập trình Web
36
Thiết kế và lập trình Web
– Để thực hiện việc sắp xếp mảng trên cần xây dựng hai hàm hoán
vị hai giá trị và sắp xếp mảng
– Hàm hoán vị
<?php
function hoan_vi(&$a, &$b)
{
$temp = $a;
$a = $b;
$b = $temp;
}
?>
37
Thiết kế và lập trình Web
<?php
$mang = array(8,4,1,6,5,3,7,2);
$mang_tang = sap_xep_mang_tang($mang);
echo $mang_tang;
→12345678
$mang_giam = sap_xep_mang_giam($mang);
echo $mang_giam;
→87654321
?>
38
Thiết kế và lập trình Web
<?php
$mang = array(8,4,1,6,5,3,7,2);
echo sort($mang);
→12345678
39
?>
Thiết kế và lập trình Web
40
Thiết kế và lập trình Web
<?php
$trai_cay = array("d"=>"chanh", "a"=>"lê", "b"=>"chuối", "c"=>"táo");
ksort($trai_cay);
foreach ($trai_cay as $khoa => $gia_tri)
{
echo "$khoa = $gia_tri \t";
}
→a = lê b = chuối c = táo d = chanh
?>
41
Thiết kế và lập trình Web
<?php
$trai_cay = array("d"=>"chanh", "a"=>"lê", "b"=>"chuối", "c"=>"táo");
krsort($trai_cay);
foreach ($trai_cay as $khoa => $gia_tri)
{
echo "$khoa = $gia_tri \t";
}
→d = chanh c = táo b = chuối a = lê
?>
42
Thiết kế và lập trình Web
43
Thiết kế và lập trình Web
<?php
function compare($a,$b)
{
if ($a==$b)
return 0;
if($a<$b)
return -1;
else
return 1;
}
?>
44
Thiết kế và lập trình Web
<?php
$a = array(4 => "four", 3 => "three", 20 => "twenty", 10 => "ten");
uksort($a, "compare");
foreach ($a as $key => $value)
{
echo "$key: $value\n";
}
→ 3: three 4: four 10: ten 20: twenty
?>
46
Thiết kế và lập trình Web
50
Thiết kế và lập trình Web
51
Thiết kế và lập trình Web
<?php
$mang = array(0 => ‘xanh’, 1 => ‘đỏ’, 2 => ‘tím’, 3 =>
‘vàng’);
$khoa_do = array_search(‘đỏ’, $mang); → 1
$khoa_vang = array_search(‘vàng’, $mang); → 3
?>
52
Thiết kế và lập trình Web
53
Thiết kế và lập trình Web
<?php
$mang1 = array("màu" => "đỏ", 2, 4);
$mang2 = array("a", "b", "màu" => "xanh", "hình" => "tròn", 4);
$mang_chung = array_merge($mang1, $mang2);
print_r($mang_chung);
→ Array (
[màu] => xanh [0] => 2 [1] => 4 [2] => a
[3] => b [hình] => tròn [4] => 4 )
?>
54
Thiết kế và lập trình Web
$mảng_slxh = array_count_values($tên_mảng);
55
Thiết kế và lập trình Web
<?php
$mang = array(1, "hello", 1, "world", "hello", 2, "Xin chào", 1);
$mang_slxh = array_count_values($mang);
print_r($mang_slxh);
→ Array (
[1] => 3
[hello] => 2
[world] => 1
[2] => 1
[Xin chào] => 1 )
?>
56
Thiết kế và lập trình Web
$mảng_duy_nhất = array_unique($tên_mảng);
57
Thiết kế và lập trình Web
<?php
$mang = array(1,3,1,2,5,1,3,4);
$mang_duy_nhat= array_unique($mang);
→ 1, 3, 2, 5, 4
?>
58
Thiết kế và lập trình Web
Tìm các giá trị khác nhau của một mảng so với
mảng khác: array_diff()
array_diff($tên_mảng_1, $tên_mảng_2);
59
Thiết kế và lập trình Web
Tìm các giá trị khác nhau của một mảng so với
mảng khác: array_diff()
Ví dụ:
<?php
$mang_1 = array("a" => "xanh", "đỏ", "tím", "vàng");
$mang_2 = array("b" => "xanh", "vàng", "đỏ");
$mang_con_1 = array_diff($mang_1, $mang_2);
print_r($mang_con_1);
→ Array ( [1] => tím )
?>
60
Thiết kế và lập trình Web
Quizes
–Hãy cho biết kết quả khi thực hiện đoạn
script PHP sau đây?
<?php
$array = array (0.1 => 'a', 0.2 => 'b');
echo count ($array);
?>
61
Thiết kế và lập trình Web
Quizes
– Trang “testscript.php” được xây dựng như sau, hãy cho biết
khi người dùng truy nhập với địa chỉ truy nhập trên trình
duyệt là “http://localhost/testscript.php?c=25” thì kết quả
thu được là gì?
<?php
function process($c, $d = 25)
{
global $e;
$retval = $c + $d - $_GET['c'] - $e;
return $retval;
}
$e = 10;
echo process(5);
62
?>
Thiết kế và lập trình Web
Bài tập
63
Thiết kế và lập trình Web
Quizes
–Hãy cho biết kết quả khi thực hiện đoạn
script PHP sau đây?
<?php
$array = array (true => 'a', 1 => 'b');
print_r ($array);
?>
64
Thiết kế và lập trình Web
Quizes
–Hãy cho biết kết quả khi thực hiện đoạn
script PHP sau đây?
<?php
$dog = "Dogzilla";
$dragon = &$dog;
$dragon = "Dragonzilla";
echo $dog . " " . $dragon;
?>
65
Thiết kế và lập trình Web
Quizes
–Hãy cho biết kết quả khi thực hiện đoạn
script PHP sau đây?
<?php
define(myvalue, "10");
$myarray[10] = "Dog";
$myarray[] = "Human";
$myarray['myvalue'] = "Cat";
$myarray["Dog"] = "Cat";
print "The value is: ";
print $myarray[myvalue]."<br>";
66 ?>