Thao tác mảng (tiếp)

Một phần của tài liệu Bài giảng lập trình wep PHP (Trang 29 - 31)

Truy cập 1 phần tử của mảng

tên_biến_mảng [$key]

– Chú ý về cách sử dụng $key ở dạng chuỗi

• Các cách viết $key=>$value trong khai báo mảng $a3 sau đều được chấp nhận.

$a3 = array(“san pham”=>“laptop”,

‘brand’=>Dell, CPU=>“core i7”,

ram=>“8Gb”, “xuất xứ”=>“USA”, 5=>“giá trị khác”);

Thao tác mảng (tiếp)

 Thêm một phần tử vào mảng

tên_biến_mảng [$key] = giá_trị

– Nếu mảng chưa tồn tại thì mảng sẽ được tạo và 1 giá trị sẽ được thêm vào.

– Nếu $key không được chỉ định thì phần tử mới luôn được thêm vào cuối mảng

• $key mới có giá trị bằng $key có giá trị số nguyên lớn nhất hiện có trong mảng cộng thêm 1.

– Nếu $key được chỉ định

• Nếu $key chưa tồn tại thì 1 phần tử mới sẽ thêm vào. • Nếu $key đã tồn tại thì sẽ không có phần tử nào được thêm

(lúc này giá trị cũ sẽ bị ghi đè)

Thao tác mảng (tiếp)

Ví dụ:

$a[0] = “Xin”;

$a[] = “Chào”; // $a[1] = “Chào”

$a[] = “Bạn”; // $a[2] = “Bạn”

$b['ten'] = “Bình”; $b['khoa'] = “CNTT”;

Thao tác mảng (tiếp)

Ví dụ:

$a=array(5=>“xin”, “chào”, “bạn”);

/*tương đương với 3 câu lệnh sau

$a[5]=“xin”;

$a[]=“chào”;

$a[]=“bạn”;*/

$a=array('ten'=>“Bình”, 'khoa'=>“CNTT”);

/*Tương đương với 2 câu lệnh sau

$a['ten'] = “Bình”; $a['khoa'] = “CNTT”;*/

Thao tác mảng (tiếp)

Duyệt mảng

– Dùng các cấu trúc lặp:

while (điều_kiện) { ... }

do { ... } while (điều_kiện);

for (khởi_tạo; kiểm_tra; hành_động) { ... }

foreach ($biến_mảng as [$key=>]$value)

– Rất hữu dụng khi duyệt các mảng kết hợp. (vì với mảng kết hợp, cách truyền thống không áp dụng được)

– Kết hợp sử dụng các hàm:

each($biến_mảng), list($key, $value) – Dùng con trỏ mảng

Thao tác mảng (tiếp)

Ví dụ foreach: in mảng a2 đã khai báo ở trên

foreach($a2 as $khoa=>$giaTri){ echo “$khoa là $giaTri <br/>”; } kết quả: product là laptop brand là Dell CPU là corei7 ram là 8Gb 5 là USA Thao tác mảng (tiếp) Dùng hàm each($biến_mảng)

– Hàm each trả về phần tử kế tiếp của mảng. – Cặp $key=>$value của phần tử trả về được lưu

trong mảng 4 phần tử có khóa là 0,1, key,value.

• 0, key: chứa $key • 1, value: chứa $value

– Ví dụ: in mảng a2 đã khai báo ở trên while($item = each($a2)){

echo “{$item[‘key’]} là {$item[‘value’]}”; }

Thao tác mảng (tiếp)

Dùng hàm list()

– Hàm list($k,$v) tách cặp giá trị key=>value của phần tử có “chỉ số” là $key ra hai biến $k$v. – Ví dụ:

in mảng a2 đã khai báo ở trên

While (list($k,$v) = each($a2)){ echo “$k là $v <br/>”;

}

Thao tác mảng (tiếp)

Ví dụ each: tạo và in mảng 10 phần tử có giá trị ngẫu nhiên từ 0-100. giá trị ngẫu nhiên từ 0-100.

<?php

$arr = array(10);

for($i = 1; $i <= 10; $i++) $arr[$i] = rand(0,100); while ($item = each($arr))

echo “{$item['value']} <br>”;

?>

Thao tác mảng (tiếp)

Một phần của tài liệu Bài giảng lập trình wep PHP (Trang 29 - 31)