Học php bài 3: Mảng trong lập trình php

18/12/2014 PHP & MYSQL 6627 lượt xem
Lưu bài viết

Học php - Hôm nay mình sẽ tiếp tục bài học về lập trình php, Chúc ta tiếp tục tới 1 khái niệm mới là mảng hay còn gọi là array. Một thành phần hết sức quan trọng.

hoc-php-mang-array

1. Khai báo và tham chiếu đến phần tử của mảng.

Khai báo: $<tên biết mảng> :  Array (<Các phần tử của mảng>);

Trong đó: <tên biến mảng> chúng ta tự đặt theo quy tắc đặt tên biến. <Các phần tử của mảng> là 1 tập hợp các số nguyên, các chuỗi cũng có thể là các mảng.

Ví dụ:

<?php

$mang1 = Array (1, 2, 45, 52, 87, 0, 56);

$mang2 = Array ('huy', 'nhi', 'a','b' );

?>

ví dụ 2:

<?
$manga = Array (12, 45, 85, 61, array ('a','b','c')); 
?>

Tham chiếu đến phần tử của mảng:

Cú pháp:

$<ten bien mang> [key];

key ở đây là chỉ số của các phần tử được đánh dấu từ trái sang phải bắt đầu là 0.

ví dụ:

<?php 
$mang = Array (12, 45, 78, 23, 56, 89);
$pt1 = $mang[0]; 
echo "Phan tu dau tien cua mang la: {$pt1}"; // Hiển thị phần từ đầu tiên của mảng
?>

Để hiển thị tất cả các phần tử của mảng ta làm như sau.

<?php
$mang = Array (12, 45, 78, 89, 56, 23);
echo "<pre>";
print_r($mang);
echo "</pre>";
?>

 2. Một số hàm của mảng.

Count: Xác định số lượng phần tử có trong mảng.

Max: Hàm lấy giá trị lớn nhất,

Min: Hàm lấy giá trị nhỏ nhất,

Sort: Sắp xếp các phần tử trong mảng theo thứ tự tăng dần.

Rsort: Sắp xếp các phần tử trong mảng theo thứ tự giảm dần.

Implode: Liệt kê phần tử trong mảng thành chuỗi. (Chắc vậy)

Explode: Biết các chuỗi thành mảng. (Chưa chắc :D)

Ví dụ:

<?php $myArray  = array(12, 23, 34, 45, 48,50, 50,62, 8 );?> 
<b>So luong phan tu co trong mang: </b> <?php echo count($myArray); ?> </br> 
<b>Gia tri lon nhat cua mang: </b> <?php echo max($myArray); ?> </br> 
<b>Gia tri nho nhat cua mang: </b> <?php echo min($myArray); ?> </br>
<b>Sap xep lon dan:</b>
<?php sort($myArray); //Hàm sắp xếp mảng tăng dần
   echo "<pre>";
	print_r($myArray);
   echo "</pre>";
?>
 <b>Sap xep be dan: </b>
<?php 
  rsort($myArray); //Hàm sắp xếp mảng giảm dần.
  echo "<pre>";
	print_r($myArray);
  echo "</pre>";
?>
  <b> implope: </b> <?php echo implode('-', $myArray). "<br/>"; ?> 
 <b>Ham explode: </b>
 <?php 
 $mystring = 'voquanghuy@gmail.com, huykira@yahoo.com, chan@congian.com';
 $mymang = explode(' ',$mystring);
 echo "<pre>";
 print_r($mymang);
 echo "</pre>";
 echo end($mymang); // lay phan tu cuoi cung trong mang
 ?>

kết quả khi chạy đoạn code trên:

So luong phan tu co trong mang: 9 
Gia tri lon nhat cua mang: 62 
Gia tri nho nhat cua mang: 8 
Sap xep lon dan:
Array
(
    [0] => 8
    [1] => 12
    [2] => 23
    [3] => 34
    [4] => 45
    [5] => 48
    [6] => 50
    [7] => 50
    [8] => 62
)
Sap xep be dan:
Array
(
    [0] => 62
    [1] => 50
    [2] => 50
    [3] => 48
    [4] => 45
    [5] => 34
    [6] => 23
    [7] => 12
    [8] => 8
)
implope: 62-50-50-48-45-34-23-12-8
Ham explode:
Array
(
    [0] => voquanghuy@gmail.com
    [1] => huykira@yahoo.com
    [2] => chan@congian.com
)
chan@congian.com

* Chèn, xóa, thay đổi giá trị 1 phần tử trong mảng.

Chèn phần tử cuối mảng: $<ten bien mang> [ ] = "Gia trị";

Chèn 1 phần tử vào 1 vị trí bất kỳ: Array_splice($<ten bien mang>,<vị trí>,0, <giá trị>); (0 chèn, 1 đè).

Xóa 1 phần tử trong mảng: Unset($<tenbienmang>[<vi tri>]); trường hợp này xóa luôn key.

  Array_splice($<tienbienmang>,<vị trí>,1); Trường hợp xóa key thay đổi cho phần tử tiếp theo.

Ví dụ:

<?php 
   $arrayhuy = array('cam', 'quyt', 'chanh' ,'buoi' ,'bong' );
   $arrayhuy[] = "oi"; // chen 1 phan tu vao cuoi cua mang.
   array_splice($arrayhuy,3,0, 'chuoi'); // chen phan tu 'chuoi' vao vi tri thu 3, cua mang $arrayhuy. 0 la chen, 1 la de
   unset($arrayhuy[1]); // xoa phan tu thu 1 trong mang, xoa luon key
   array_splice($arrayhuy,3,1); // xoa phan tu thu 3 key tang
   echo "<pre>";
      print_r($arrayhuy);
   echo "</pre>";
?>

Gộp 2 mảng, tìm  1 phần tử trong mảng.

<?php

$mang1 = array('chuoi', 'xoa','oi','dua');
$mang2 = array('cafe','tra','sua');
// Đoạn chương trình tìm phan tu 'chuoi' có trong mang1 hay ko
if (in_array('chuoi', $mang1)) {

	echo "co phan tu chuoi trong mang: :D";
}
else { echo "ko co nhe";}
// ket thuc
$rand = array_rand($mang1); //Ham lay ngau nhien 1 phan tu trong mang theo "key"
   echo  "$mang1[$rand]"; // hien thi phan tu trong mang theo key

$viet_hoa = array_map('ucfirst', $mang1); // viet hoa phan ky tu dau cua moi phan tu
foreach ($viet_hoa as $hoa) { // hian thi theo danh sach sau khi da viet hoa
	echo "<li> $hoa </li>";
}
$mang=array_merge($mang1,$mang2); //Gộp 2 mảng với nhau.
  shuffle($mang); // Mảng xuất hiển ngẫu nhiên
echo "<pre>";
  print_r($mang);
echo "</pre>";
?>

 Kết luận:

Mảng là một thành phần rất quan trọng trong php cần phải học đi học lại và thực hành nhiều. Trên đây là những điều cơ bản nhất về Mảng trong php.