Định nghĩa và cách dùng PHP array
- Xem các cách tạo mảng và gọi mả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.
Phạm vi của bài này chỉ viết về những hàm array thường dùng:
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); ?>
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 < $length; $i++) {
echo $hocweb[$i]."<br>";
}
?>
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 < $length; $i++) {
echo $hocweb[$i]."<br>";
}
?>
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 < $length; $i++) {
echo $hocweb[$i]."<br>";
}
?>
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 < $length; $i++) {
echo $hocweb[$i]."<br>";
}
?>
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)); ?>
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)); ?>
Tách từ 2 vị trí được chọn.
<?php $hocweb = array("HTML", "CSS", "JS", "PHP"); print_r(array_slice($hocweb, 1, 2)); ?>
Tách ngược từ 1 vị trí được chọn.
<?php $hocweb = array("HTML", "CSS", "JS", "PHP"); print_r(array_slice($hocweb, -2)); ?>
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)); ?>
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); ?>
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)); ?>
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 < $length; $i++) {
echo $hocweb[$i]."<br>";
}
?>
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 < $length; $i++) {
echo $hocweb[$i]."<br>";
}
?>
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=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=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=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=PHP, Value=3 tuần
Key=CSS, Value=2 tuần
Key=HTML, Value=1 tuần