Hướng dẫn dùng array_search php trong PHP

Hàm array_search() sẽ tìm kiếm phần tử trong mảng có giá trị truyền vào,trả về khóa nếu phần tử đó tồn tại.

Hướng dẫn dùng array_search php trong PHP

Hướng dẫn dùng array_search php trong PHP

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Cú pháp

Cú pháparray_search($search, $array);

Trong đó:

  • $search là giá trị của phần tử cần tìm.
  • $array là mảng dữ liệu truyền vào.

Ví dụ

Code

$array = array(
	0 => 'php',
	1 => 'js',
	2 => 'html',
	3 => 'css'
);

echo $key = array_search('css', $array)."
"; echo $key = array_search('js', $array)."
";

Tham khảo: php.net

Bài viết này được đăng tại [free tuts .net]

Hàm array_search() trong PHP

Nội Dung

  • 1. Hàm array_search() trong PHP
  • 2. Cú pháp hàm array_search() trong PHP
  • 3. Ví dụ về hàm array_search() trong PHP

Hàm array_search() trong PHP sẽ giúp ta tìm kiếm phần tử trong mảng được truyền vào. Hàm này sẽ tìm kiếm giá trị cụ thể trong một mảng và trả về key tương ứng bằng cách sử dụng hàm array_search() nếu giá trị tồn tại. Nếu có nhiều hơn một giá trị thì key của giá trị khớp đầu tiên sẽ được trả về. Nếu giá trị là một chuỗi, thì phép so sánh là phân biệt kiểu chữ. Hàm array_search() được giới thiệu và sử dụng từ phiên bản PHP 4.0.5

2. Cú pháp hàm array_search() trong PHP

Ta có cú pháp của hàm array_search() trong PHP là :

array_search($value, $array, strict_parameter)

Trong đó :

  • $value : chỉ định giá trị cần tìm kiếm trong mảng. Tham số này là bắt buộc
  • $array : chỉ định mảng ban đầu sẽ tìm kiếm $value trong mảng này. Tham số này cũng là bắt buộc
  • strict_parameter : Đây là tham số tùy chọn trong hàm mang giá trị boolean có thể được đặt thành True hoặc False. Nó đề cập đến mức độ nghiêm ngặt của việc tìm kiếm. Với giá trị mặc định sẽ là False. Nếu ta đặt tham số này thành True thì hàm này sẽ kiểm tra trặt chẽ với việc kiểm tra các phần tử giống nhau, tức là, một số nguyên 10 sẽ được xử lý khác với một chuỗi “10”

Hàm array_search() sẽ trả về key của giá trị tương ứng được truyền vào. Nếu không tìm thấy thì False được trả về. Nhưng nếu có nhiều hơn một key khớp với giá trị cần tìm kiếm, thì key khớp đầu tiên với giá trị được tìm kiếm sẽ được trả về. Trong trường hợp ta muốn trả về toàn bộ key phù hợp hãy kết hợp sử dung thêm hàm array_keys() để lấy được kết quả phù hợp.

Từ phiên bản PHP 5.3.0 hàm array_search() sẽ trả về NULL nếu tham số truyền vào không hợp lệ.

Ví dụ : tìm kiếm giá trị PHP trong một mảng và trả về key của nó

"PHP","b"=>"Python","c"=>"Java");
echo array_search("PHP",$a);
?>

Kết quả

a

Ta chỉ cần truyền vào giá trị cần tìm kiếm là PHP và hàm để tìm kiếm là hàm $a vào hàm array_search() để tìm được key tương ứng cho giá trị PHP

3. Ví dụ về hàm array_search() trong PHP

Ví dụ 1: tìm kiếm giá trị và trả về key tương ứng

Kết quả

2

Ví dụ 2: sử dụng sự tìm kiếm nghiêm ngặt

"5","b"=>5,"c"=>"5");
echo array_search(5,$a,true);
?>

Kết quả

b

Trong ví dụ này khi sử dụng thêm tham số strict_parameter là True thì ở đây số 5 sẽ khác với chuỗi “5” . Và giá trị ta yêu cầu tìm kiếm là số 5 vì vậy chỉ có key mang giá trị là số 5 mới được trả về. Kết quả được trả về giống như trên nhé.

Ví dụ 3:

Kết quả

Không có kết quả được hiển thị

Vì ta tìm kiếm giá trị là một chuỗi “10” . Mà trong mảng cần tìm kiếm lại không có giá trị tương ứng nên sẽ không có key nào được trả về.

  • Trang chủ
  • Hướng dẫn học
  • Học PHP
  • PHP array thường dùng

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

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 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:

// 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]."
"; } ?>

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

Php viết:

// 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]."
"; } ?>

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:

// 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]."
"; } ?>

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

Php viết:

// 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]."
"; } ?>

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:


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.

Array ( [0] => CSS [1] => JS [2] => PHP )

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

Array ( [0] => CSS [1] => JS )

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

Array ( [0] => JS [1] => PHP )

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

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

Php viết:

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:

"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:

// 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]."
"; } ?>

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:

// 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]."
"; } ?>

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:

"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."
"; } ?>

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:

"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."
"; } ?>

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:

"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."
"; } ?>

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:

"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."
"; } ?>

Key=JS, Value=5 tuần
Key=PHP, Value=3 tuần
Key=CSS, Value=2 tuần
Key=HTML, Value=1 tuần