18/08/2018, 11:24

PHP array thường dùng

Định nghĩa và cách dùng Định nghĩa và cách dùng cơ bản đã được thể hiện ở phần Data Type - array, phần này sẽ nói về cách dùng một số hàm cơ bản của array. Xem các cách tạo mảng và gọi mảng. Phạm vi của bài này chỉ viết về những hàm array thường dùng: count() array_push() ...

Định nghĩa và cách dùng

    Định nghĩa và cách dùng cơ bản đã được thể hiện ở phần Data Type - array, phần này sẽ nói về cách dùng một số hàm cơ bản của array.

  • Xem các cách tạo mảng và gọi mảng.

Phạm vi của bài này chỉ viết về những hàm array thường dùng:

  • count()
  • array_push()
  • array_pop()
  • array_unshift()
  • array_shift()
  • array_unique()
  • array_slice()
  • array_search()
  • array_key_exists()
  • sort()
  • rsort()
  • ksort()
  • krsort()
  • asort()
  • arsort()

PHP count(), đếm số lượng phần tử trong mảng

Cũng có thể xem là chiều dài mảng.

Php viết:

<?php
$hocweb = array("HTML", "CSS");
echo count($hocweb);
?>
2

PHP array_push(), thêm phần tử vào cuối mảng

Chèn thêm phần tử vào cuối mảng.

Php viết:

<?php
$hocweb = array("HTML", "CSS");
array_push($hocweb, "JS", "PHP");

// Xuất mảng ra trình duyệt xem kết quả
$length = count($hocweb);
for($i = 0; $i 
HTML
CSS
JS
PHP

PHP array_pop(), xóa phần tử ở cuối mảng

Php viết:

<?php
$hocweb = array("HTML", "CSS", "JS", "PHP");
array_pop($hocweb);

// Xuất mảng ra trình duyệt xem kết quả
$length = count($hocweb);
for($i = 0; $i 
HTML
CSS
JS

PHP array_unshift(), thêm phần tử vào đầu mảng

Chèn thêm phần tử vào đầu mảng.

Php viết:

<?php
$hocweb = array("HTML", "CSS");
array_unshift($hocweb, "JS", "PHP");

// Xuất mảng ra trình duyệt xem kết quả
$length = count($hocweb);
for($i = 0; $i 
JS
PHP
HTML
CSS

PHP array_shift(), xóa phần tử ở đầu mảng

Php viết:

<?php
$hocweb = array("HTML", "CSS", "JS", "PHP");
array_shift($hocweb);

// Xuất mảng ra trình duyệt xem kết quả
$length = count($hocweb);
for($i = 0; $i 
CSS
JS
PHP

PHP array_unique(), loại bỏ giá trị trùng trong mảng

Nếu nhiều hơn 1 giá trị bị trùng nhau, array_unique sẽ giữ lại giá trị đầu tiên, và loại bỏ các giá trị còn lại.

Lưu ý là key cũng bị xóa tương ứng với giá trị bị xóa, do đó không dùng for để liệt kê các phần tử mảng sau khi dùng array_unique được, vì sẽ có key bị thiếu.

Php viết:

<?php
$hocweb = array("HTML", "CSS", "JS", "CSS", "PHP");
print_r(array_unique($hocweb));
?>
Array ( [0] => HTML [1] => CSS [2] => JS [4] => PHP )

Ta thấy giá trị CSS của [3] trùng với [1], do đó [3] đã bị loại bỏ.

PHP array_slice(), tách mảng ra mảng con

Tách từ 1 vị trí được chọn.

<?php
$hocweb = array("HTML", "CSS", "JS", "PHP");
print_r(array_slice($hocweb, 1));
?>
Array ( [0] => CSS [1] => JS [2] => PHP )

Tách từ 2 vị trí được chọn.

<?php
$hocweb = array("HTML", "CSS", "JS", "PHP");
print_r(array_slice($hocweb, 1, 2));
?>
Array ( [0] => CSS [1] => JS )

Tách ngược từ 1 vị trí được chọn.

<?php
$hocweb = array("HTML", "CSS", "JS", "PHP");
print_r(array_slice($hocweb, -2));
?>
Array ( [0] => JS [1] => PHP )

Tách ngược từ 2 vị trí được chọn.

<?php
$hocweb = array("HTML", "CSS", "JS", "PHP");
print_r(array_slice($hocweb, -2, 1));
?>
Array ( [0] => JS )

PHP array_search(), tìm giá trị trong mảng và trả về key

Php viết:

<?php
$hocweb = array("HTML", "CSS", "JS", "PHP");
echo array_search("CSS", $hocweb);
?>
1

Do giá trị CSS ở vị trí [1], nên kết quả là 1.

PHP array_key_exists(), tìm key trong mảng

Tìm key trong mảng, trả về true nếu có, ngược lại trả về false.

Php viết:

<?php
$hocweb = array("HTML"=>"1 tuần", "CSS"=>"2 tuần", "JS"=>"5 tuần", "PHP"=>"3 tuần");
var_dump(array_key_exists("CSS", $hocweb));
?>
bool(true)

Do giá trị CSS ở vị trí [1], nên kết quả là 1.

PHP sort(), sắp xếp mảng theo thứ tự tăng dần

Nếu là số thì 1, 2, ...

Nếu là chữ thì a, b, ...

Php viết:

<?php
$hocweb = array("HTML", "CSS", "JS", "PHP");
sort($hocweb);

// Xuất mảng ra trình duyệt xem kết quả
$length = count($hocweb);
for($i = 0; $i 
CSS
HTML
JS
PHP

PHP rsort(), sắp xếp mảng theo thứ tự giảm dần

Nếu là số thì n, n-1, ...

Nếu là chữ thì z, y,...

Php viết:

<?php
$hocweb = array("HTML", "CSS", "JS", "PHP");
rsort($hocweb);

// Xuất mảng ra trình duyệt xem kết quả
$length = count($hocweb);
for($i = 0; $i 
PHP
JS
HTML
CSS

PHP ksort(), sắp xếp mảng theo thứ tự key tăng dần

Nếu là số thì 1, 2, ...

Nếu là chữ thì a, b, ...

Php viết:

<?php
$hocweb = array("HTML"=>"1 tuần", "CSS"=>"2 tuần", "JS"=>"5 tuần", "PHP"=>"3 tuần");
ksort($hocweb);

// Xuất mảng ra trình duyệt xem kết quả
foreach($hocweb as $key=>$value) {
   echo "Key=" . $key . ", Value=" . $value."<br>";
}
?>
Key=CSS, Value=2 tuần
Key=HTML, Value=1 tuần
Key=JS, Value=5 tuần
Key=PHP, Value=3 tuần

PHP krsort(), sắp xếp mảng theo thứ tự key giảm dần

Nếu là số thì n, n-1, ...

Nếu là chữ thì z, y,...

Php viết:

<?php
$hocweb = array("HTML"=>"1 tuần", "CSS"=>"2 tuần", "JS"=>"5 tuần", "PHP"=>"3 tuần");
krsort($hocweb);

// Xuất mảng ra trình duyệt xem kết quả
foreach($hocweb as $key=>$value) {
   echo "Key=" . $key . ", Value=" . $value."<br>";
}
?>
Key=PHP, Value=3 tuần
Key=JS, Value=5 tuần
Key=HTML, Value=1 tuần
Key=CSS, Value=2 tuần

PHP asort(), sắp xếp mảng theo thứ tự giá trị tăng dần

Nếu là số thì 1, 2, ...

Nếu là chữ thì a, b, ...

Php viết:

<?php
$hocweb = array("HTML"=>"1 tuần", "CSS"=>"2 tuần", "JS"=>"5 tuần", "PHP"=>"3 tuần");
asort($hocweb);

// Xuất mảng ra trình duyệt xem kết quả
foreach($hocweb as $key=>$value) {
   echo "Key=" . $key . ", Value=" . $value."<br>";
}
?>
Key=HTML, Value=1 tuần
Key=CSS, Value=2 tuần
Key=PHP, Value=3 tuần
Key=JS, Value=5 tuần

PHP arsort(), sắp xếp mảng theo thứ tự giá trị giảm dần

Nếu là số thì n, n-1, ...

Nếu là chữ thì z, y,...

Php viết:

<?php
$hocweb = array("HTML"=>"1 tuần", "CSS"=>"2 tuần", "JS"=>"5 tuần", "PHP"=>"3 tuần");
arsort($hocweb);

// Xuất mảng ra trình duyệt xem kết quả
foreach($hocweb as $key=>$value) {
   echo "Key=" . $key . ", Value=" . $value."<br>";
}
?>
Key=JS, Value=5 tuần
Key=PHP, Value=3 tuần
Key=CSS, Value=2 tuần
Key=HTML, Value=1 tuần
0