Làm cách nào để kiểm tra xem một mảng có khóa trong php không?

Hôm nay tôi thấy mình cần kiểm tra một mảng kết hợp để xem liệu nó có chứa một bộ khóa cụ thể không

Đây là những gì tôi đã muốn làm

if( isset( $data['sanitize'], $data['validate'], $data['authorize'] ) ) {
    // Do stuff with my special array data
}

Đúng là nó không có nhiều mã, nhưng cú pháp như thế này chỉ khiến tôi phát điên. Vì vậy, tôi nghĩ, chẳng phải sẽ tốt hơn nếu làm điều gì đó như thế này thay vào đó

if( array_keys_exist( $data, 'sanitize', 'validate', 'authorize' ) ) {
    // Do stuff with my special array data
}

Điều này phát huy tác dụng của hàm array_key_exists() nổi tiếng trong PHP, nhưng thêm vào khả năng kiểm tra xem có nhiều khóa tồn tại hay không và cải thiện khả năng đọc của mã

Hàm này kiểm tra xem một khóa được chỉ định có tồn tại trong mảng hay không. Nó trả về TRUE nếu nó tồn tại trong mảng. Nếu không, nó trả về FALSE

Khóa có thể là bất kỳ giá trị nào có thể cho chỉ mục mảng

Thí dụ. Sử dụng chức năng ____4_______

Trong ví dụ đã cho, chúng tôi đã kiểm tra xem khóa Jack đã chỉ định có tồn tại trong mảng $empID hay không bằng cách sử dụng hàmarray_key_exists()




  Check if a key exists in an array


	 110, "Henry" => 111, "Miley" => 112, "Cairo" => 113);
		if(array_key_exists("Jack", $empID)){
			echo "Key exists";	
		}else {
			echo "Key doesn't exists"; 
		}
	?>



Khóa tồn tại

Sử dụng chức năng isset()

Chúng ta cũng có thể kiểm tra xem một khóa có tồn tại trong mảng đã cho hay không bằng cách sử dụng hàm isset() tích hợp trong PHP. Hàm này kiểm tra xem một biến có được đặt hay không, có nghĩa là biến phải được khai báo và giá trị của biến không được rỗng

Hàm ____7_______ không trả về true nếu giá trị của khóa được chỉ định là null. Hàm này trả về true nếu khóa có trong mảng và giá trị của khóa không phải là null

Thí dụ. Sử dụng chức năng isset()

Trong ví dụ đã cho, chúng tôi đã kiểm tra xem Key Jack có tồn tại trong mảng $empID hay không bằng cách sử dụng hàmisset()




  Check if a key exists in an array


	 110, "Henry" => 111, "Miley" => 112, "Cairo" => 113);
		if(isset($empID["Jack"])){
			echo "Key exists";	
		}else {
			echo "Key doesn't exists"; 
		}
	?>



Khóa tồn tại

Phần kết luận

Trong bài học này, chúng ta đã học cách kiểm tra xem một khóa có tồn tại trong mảng hay không. PHP cung cấp một số hàm tích hợp để kiểm tra xem khóa có tồn tại trong mảng hay không. Đầu tiên, chúng tôi đã sử dụng hàm array_key_exists() để kiểm tra xem khóa được chỉ định có tồn tại trong mảng hay không. Sau đó, chúng tôi đã sử dụng chức năng isset() để kiểm tra tương tự. Hàm isset() không trả về true nếu giá trị của khóa được chỉ định là null trong khi hàm array_key_exists() trả về true

Vì vậy, bài viết này xoay quanh khái niệm đảm bảo sự tồn tại của khóa. Tiếp tục đọc để tìm hiểu về chức năng trên để kích hoạt tính năng kiểm tra khóa trong chương trình PHP của bạn

nội dung

Cách sử dụng PHP array_key_exists

Hàm PHP array_key_exists chấp nhận một khóa có thể là một chuỗi hoặc một số nguyên, làm tham số đầu tiên của nó. Tiếp theo, nó chấp nhận mảng mà bạn phải thực hiện quá trình tìm kiếm. Hàm trên trả về true nếu khóa tồn tại trong khi trả về false nếu không thành công.

– Đây là cú pháp

array_key_exists(key, array)

– Ví dụ mã hóa

Ví dụ: bạn không chắc mình đã thêm khóa PHP vào mảng hay chưa. Và, bây giờ nếu bạn thêm một phần tử mảng khác với khóa “id” thì cuối cùng bạn sẽ ghi đè lên giá trị trước đó nếu khóa “id” đã tồn tại. Vì vậy, trước tiên bạn sẽ sử dụng hàm array_key_exists của PHP bằng cách chuyển “id” và mảng. Tiếp theo, bạn sẽ thực hiện bất kỳ thao tác mong muốn nào dựa trên kết quả của nó

Bạn có thể tham khảo ví dụ sau để hiểu kịch bản


$std = mảng(
“id” => 1,
“tên” => “xyz”,
“điểm” => 6,
“điểm” => 93
);
if(array_key_exists(“id”,$std)){
echo “Id tồn tại trong mảng tiêu chuẩn”;
}
khác
{
$std[“id”] = 1;
echo “Id đã được thêm vào ngay bây giờ. ”;
}
?>

- Ghi chú

Hàm array_key_exists trong PHP thực hiện tìm kiếm phân biệt chữ hoa chữ thường cho các khóa được đặt tên. Nhưng bạn cũng sẽ thấy cách bật phân biệt chữ hoa chữ thường bên dưới trong bài viết này

Mảng PHP_key_exists VS Mảng in

Có phải câu hỏi vừa xuất hiện trong đầu bạn là thay vì sử dụng hàm array_key_exists trong PHP, bạn cũng có thể in một mảng để xem khóa có tồn tại không? . Hơn nữa, nếu mảng có nhiều khóa thì quá trình này sẽ tốn nhiều thời gian. Ngoài ra, bạn sẽ cần thực hiện các thao tác mong muốn trong bước tiếp theo sau khi kiểm tra sự tồn tại của khóa

Mặt khác, nếu bạn sử dụng hàm array_key_exists trong PHP thì bạn chỉ cần cung cấp khóa cần thiết và viết các thao tác mong muốn cho cả hai trường hợp. Do đó, bạn sẽ tiết kiệm thời gian và năng lượng của mình

Array_key_exists trong PHP. So sánh với isset()

Sự nhầm lẫn xảy ra khi bạn nhận ra rằng bạn cũng có thể kiểm tra sự tồn tại của các khóa bằng cách sử dụng hàm isset() trong PHP. Mặc dù điểm đã nêu là đúng nhưng bạn vẫn cần sử dụng hàm array_key_exists. Đó là vì hàm isset() kiểm tra xem khóa đã cho có được đặt trong một mảng hay không thay vì tìm sự tồn tại của nó. Do đó, nếu có key nhưng nó chứa giá trị null thì hàm isset() sẽ trả về false.

Tuy nhiên, trong tình huống trên, PHP array_key_exists sẽ trả về true vì có khóa

– Ví dụ mã hóa

Ví dụ: giả sử chương trình PHP của bạn có một mảng và bạn muốn tìm sự hiện diện của một khóa cụ thể. Ở đây, mối quan tâm thuần túy của bạn là sự hiện diện của khóa thay vì giá trị được lưu trữ trên đó. Vì vậy, sẽ tốt hơn nếu sử dụng hàm array_key_exists trong PHP thay vì hàm isset()

Vui lòng tham khảo đoạn mã sau và đầu ra của nó được hiển thị trong các nhận xét


$emp = mảng(
“id” => 1,
“giới tính” => “Nam”,
“thiết kế” => “Quản lý”,
“lương” => null
);
// khối if sẽ chạy
if(array_key_exists(“salary”,$emp)){
echo “Chìa khóa ‘tiền lương’ Tồn tại”;
}
khác
{
$emp[“lương”] = null;
echo “Mức lương đã được thêm ngay bây giờ. ”;
}
// khối khác sẽ chạy
if(isset($emp[“salary”])){
echo “Chìa khóa ‘tiền lương’ Tồn tại”;
}
khác
{
$emp[“lương”] = null;
echo “Mức lương đã được thêm ngay bây giờ. ”;
}
?>

- Ghi chú

Nếu bạn chắc chắn rằng các giá trị trong mảng đã cho không phải là null thì bạn có thể sử dụng các hàm array_key_exists và isset() của PHP thay thế cho nhau

PHP nếu khóa tồn tại. Tìm kiếm không phân biệt chữ hoa chữ thường

Bạn phải biết rằng các khóa mảng phân biệt chữ hoa chữ thường, điều này làm cho “A” và “a” là hai khóa khác nhau. Tương tự, hàm array_key_exists trong PHP cũng thực hiện tìm kiếm phân biệt chữ hoa chữ thường. Nhưng có thể có những tình huống khi trường hợp của khóa không quan trọng trong chương trình PHP của bạn hoặc bạn nghĩ rằng bạn có thể thêm nhầm một khóa khác có cùng tên nhưng khác trường hợp. Trong những tình huống như vậy, sẽ tốt hơn nếu thực hiện tìm kiếm không phân biệt chữ hoa chữ thường trên các phím của bạn

– Ví dụ mã hóa

Ví dụ, bạn muốn PHP kiểm tra xem khóa có tồn tại trong mảng của bạn không. Ở đây, bạn không muốn xem xét trường hợp của khóa và làm cho tìm kiếm không phân biệt chữ hoa chữ thường. Vì vậy, trước tiên, bạn sẽ sử dụng hàm array_change_key_case() để thay đổi kiểu chữ hoa hoặc chữ thường của các phím. Tiếp theo, bạn sẽ lưu trữ mảng khóa được trả về vào một mảng khác.

Cuối cùng, bạn sẽ chuyển mảng khóa chữ thường mới tạo cho hàm array_key_exists của PHP

Vui lòng tham khảo đoạn mã sau để thực hiện tìm kiếm khóa không phân biệt chữ hoa chữ thường


$ ngày = mảng (
“Thứ Hai” => “Ngày Làm Việc 1”,
“Thứ Ba” => “Ngày Làm Việc 2”,
“Thứ Tư” => “Ngày Làm Việc 3”,
“Thứ Năm” => “Ngày làm việc thứ 4”,
“Thứ sáu” => “Ngày làm việc thứ 5”,
“Thứ bảy” => “Ngày lễ 1”,
“Chủ nhật” => “Ngày lễ 2”,
);
// sao chép các khóa trong một mảng khác
$copy_keys = array_change_key_case($days, CASE_LOWER);
/* thực hiện tìm kiếm không phân biệt chữ hoa chữ thường trên
bản sao của khóa */
if(array_key_exists(“thứ hai”,$copy_keys)){
tiếng vang "Khóa tồn tại";
}
khác
{
echo “Khóa không tồn tại”;
}
?>

- Ghi chú

Bạn sẽ cần kiểm tra các khóa trong trường hợp bạn đã chuyển đổi chúng trước đó. Vì vậy, nếu bạn muốn sử dụng “ CASE_UPPER ” thì nhớ tìm các phím ở dạng chữ hoa giống như “MONDAY” để có kết quả chính xác.

Nó có tìm khóa mảng không?

Thật không may, hàm in_array() trong PHP không được sử dụng để tìm sự tồn tại của các khóa trong một mảng. Thay vào đó, nó cung cấp sự trợ giúp tuyệt vời trong việc tìm kiếm các giá trị trong một mảng.

Do đó, tương tự như hàm tồn tại khóa mảng PHP chấp nhận một khóa và một mảng, hàm in_array() chấp nhận một giá trị và . Nó tìm kiếm giá trị trong mảng và trả về true nếu giá trị tồn tại. Trong trường hợp khác, nó trả về false.

Mảng PHP chứa khóa. Tìm nhiều phím

Bạn có muốn kiểm tra sự tồn tại của nhiều phím đồng thời và chỉ thực hiện một tác vụ nếu tất cả các phím đã cho tồn tại không? . Đó là do hàm array_key_exists trong PHP không thể xử lý đồng thời nhiều khóa. Do đó, người dùng định nghĩa là giải pháp trong trường hợp trên

– Mã hóa

Giả sử rằng chương trình PHP của bạn bao gồm một mảng. Bây giờ, bạn muốn kiểm tra xem một bộ khóa có trong mảng không. Vì vậy, bạn sẽ bắt đầu bằng việc thêm tất cả các khóa cần thiết vào một mảng. Tiếp theo, bạn sẽ tạo một hàm do người dùng xác định “ multiple_keys_exists() ” sẽ chấp nhận một mảng khóa cùng với mảng ban đầu của bạn.

Sau này, bạn sẽ sử dụng hàm array_diff_key() cùng với hàm array_flip() . Cuối cùng, bạn sẽ gọi hàm “multiple_keys_exist()” bằng cách chuyển mảng keys và mảng ban đầu. inside your user-defined function to check the existence of keys. Lastly, you’ll call the “multiple_keys_exist()” function by passing the keys array and the original array.

Đây là đoạn mã tạo và sử dụng hàm do người dùng xác định để kiểm tra sự tồn tại của nhiều khóa


$tech = mảng(
“A” => “PHP”,
“B” => “HTML”,
“C” => “CSS”,
“D” => “Javascript”,
“E” => “Java”,
“F” => “Trăn”
);
// tạo một mảng các khóa cần thiết
$keys = mảng(“A”,”B”,”C”);
// tạo hàm user_define
hàm multiple_keys_exist(mảng $key_array, mảng $main_array){
trở lại. mảng_diff_key(mảng_flip($key_array), $main_array);
}
// nếu khối sẽ thực thi
if(multiple_keys_exist($keys, $myArray))
{
echo “Tất cả chìa khóa đều tồn tại. ”;
}
khác
{
echo “Xin lỗi, chìa khóa không tồn tại. ”;
}
?>

Phần kết luận

Bây giờ, bạn đã sẵn sàng sử dụng chức năng tồn tại khóa mảng PHP cùng với việc kiểm tra các khóa khác nhau trong nhiều tình huống. Ngoài ra, đây là danh sách một số điểm quan trọng sẽ giúp bạn hiểu hơn về việc tìm kiếm sự tồn tại của các khóa

  • Làm cách nào để kiểm tra xem một mảng có khóa trong php không?
    Hàm array_key_exists giúp tìm PHP nếu khóa mảng tồn tại trong một mảng
  • Hàm array_key_exists trong PHP chấp nhận một khóa và một mảng
  • Nên sử dụng hàm array_key_exists trong PHP thay vì hàm isset() để tìm khóa
  • Hàm array_key_exists trong PHP thực hiện tìm kiếm phân biệt chữ hoa chữ thường trên các khóa của một mảng
  • Bạn có thể sử dụng hàm array_change_key_case() cùng với hàm array_key_exists trong PHP để thực hiện tìm kiếm không phân biệt chữ hoa chữ thường
  • Bạn có thể tạo một chức năng do người dùng xác định để kiểm tra sự tồn tại của nhiều khóa cùng một lúc

Không còn nghi ngờ gì nữa, việc kiểm tra sự tồn tại của khóa trước khi bổ sung thêm khóa có thể giúp tránh các vấn đề ghi đè. Hơn nữa, nó sẽ hỗ trợ bạn thực hiện các tác vụ dựa trên sự hiện diện hay vắng mặt của một số khóa cụ thể trong mảng của bạn

5/5 - (19 phiếu bầu)

Làm cách nào để kiểm tra xem một mảng có khóa trong php không?

Vị trí là tất cả

Vị trí là tất cả. Tài nguyên Go-To của bạn để Tìm hiểu & Xây dựng. CSS, JavaScript, HTML, PHP, C++ và MYSQL

Mảng nào có khóa tên trong PHP?

Mảng kết hợp là các mảng sử dụng các khóa được đặt tên mà bạn gán cho chúng.

Làm cách nào để kiểm tra xem có nhiều khóa tồn tại trong mảng PHP không?

Nếu bạn chỉ có 2 khóa để kiểm tra , bạn có thể dễ dàng chỉ cần gọi array_key_exists() hai lần để kiểm tra xem các khóa có tồn tại hay không. if (array_key_exists("story", $arr) && array_key_exists("message", $arr)) { // Cả hai khóa đều tồn tại. }

Làm cách nào để kiểm tra giá trị của khóa trong PHP?

4 câu trả lời .
array_key_exists($key, $array) Đây là tùy chọn đơn giản nhất. Nó trả về true nếu mảng có khóa đã cho, ngược lại trả về false
isset($array[$key]) Nghiêm ngặt hơn một chút so với array_key_exists vì nó cũng yêu cầu giá trị được gán cho khóa không phải là null
trống($array[$key]) (lưu ý. )

Hàm PHP array_keys() dùng để làm gì?

Mảng_keys() là một hàm tích hợp sẵn trong PHP và được sử dụng để trả về tất cả các khóa của và mảng hoặc tập hợp con của các khóa. Parameters: The function takes three parameters out of which one is mandatory and other two are optional.