Thay thế mảng PHP

Để thay thế tất cả các lần xuất hiện của null trong một mảng bằng một giá trị khác, bạn có thể sử dụng hàm array_map() được tích hợp sẵn trong PHP. Hàm này áp dụng hàm gọi lại cho từng mục trong mảng của bạn và trả về một mảng mới với tất cả các giá trị trả về của hàm gọi lại đó

Là đối số đầu tiên, array_map() nhận chức năng gọi lại, làm đối số thứ hai, nó nhận một mảng giá trị mà hàm gọi lại sẽ được áp dụng

Để thay thế tất cả các giá trị null bằng một giá trị khác, chữ "c" trong ví dụ này, bạn có thể lấy đoạn mã sau


$REPLACEMENT = 'c';

$values = ['a', 'b', null, 'd'];

$result = array_map(
  fn ($value) => $value ?? $REPLACEMENT,
  $values
);

print_r($result);
// Array
// (
//     [0] => a
//     [1] => b
//     [2] => c
//     [3] => d
// )

Hãy ghi nhớ ở đây rằng trong đoạn mã trên, tôi đang sử dụng hai tính năng mà tại thời điểm đó vẫn còn khá mới. toán tử hợp nhất null và hàm mũi tên

Toán tử kết hợp null trả về toán hạng đầu tiên, ngoại trừ khi nó là null trong trường hợp đó nó rơi trở lại toán hạng thứ hai

Các hàm mũi tên PHP đã được giới thiệu trong PHP 7. 4 và cung cấp một cú pháp toàn diện hơn cho các bao đóng, còn được gọi là các hàm ẩn danh

Đưa ra một mảng trong PHP và nhiệm vụ cập nhật giá trị cho một hoặc một số phần tử của nó, bài viết này giải thích chính xác cách thực hiện điều đó

Mảng trong PHP có thể cập nhật được, bạn có thể dễ dàng thay đổi giá trị của một phần tử mảng bằng cách gán cho nó một giá trị mới để thay thế giá trị cũ

Điều này được thực hiện theo cách tương tự như cập nhật giá trị biến, chỉ khác là trong trường hợp này, bạn cần chỉ định chỉ mục hoặc khóa của phần tử bạn muốn cập nhật

cú pháp

Mảng-Biến[chỉ mục. khóa] = giá trị

Thông số

Tham sốMô tảArray-VariableĐây là tên của biến chứa mảng sẽ được cập nhật. mục lục. keyThis chỉ định phần tử sẽ được cập nhật trong mảng. Nó có thể là một chỉ mục hoặc một khóa tùy thuộc vào loại mảng. Chỉ mục là một giá trị nguyên xác định một phần tử trong một mảng được lập chỉ mục. Khóa là một giá trị chuỗi xác định một phần tử trong một mảng kết hợp. valueĐây là giá trị được gán cho phần tử mảng để thay thế giá trị cũ. Nó có thể là một thực tế hoặc một biến

ví dụ 1

Cập nhật giá trị của một phần tử mảng được lập chỉ mục

";
print_r($vehicles);
echo "
"; $vehicles[3] = "Volvo"; echo "Array after updating fourth element value:
"; print_r($vehicles);

đầu ra

Mảng trước khi cập nhật giá trị phần tử
Mảng (
[0] => Tesla
[1] => Toyota
[2] => Audi
[3] => Nissan
[4] => Mazda
)
Mảng sau khi cập nhật giá trị phần tử thứ tư
Mảng (
[0] => Tesla
[1] => Toyota
[2] => Audi
[3] => Volvo
[4] => Mazda
)

Trong ví dụ trên, chúng tôi đã có Nissan là yếu tố thứ tư và chỉ số 3. Chúng tôi đã sử dụng chỉ mục của nó để cập nhật mảng và gán cho nó một giá trị mới "Volvo". Bạn có thể thấy rằng trước và sau khi cập nhật mảng, giá trị của chỉ số mảng 3 đã thay đổi từ "Nissan" thành "Volvo"

ví dụ 2

Cập nhật giá trị của phần tử mảng kết hợp

 "Kenya", "continent" => "Africa");
echo "Array before updating an element value: 
"; print_r($country); echo "
"; $country["name"] = "Nigeria"; echo "Array after updating fourth element value:
"; print_r($country);

đầu ra

Mảng trước khi cập nhật giá trị phần tử tên
Mảng (
[tên] => Kê-ni-a
[lục địa] => Châu Phi
)
Mảng sau khi cập nhật giá trị phần tử tên
Mảng (
[tên] => Ni-giê-ri-a
[lục địa] => Châu Phi
)

Chúng tôi đã sử dụng khóa 'tên' để cập nhật giá trị của nó từ 'Kenya' thành 'Nigeria'

Trong trường hợp chúng ta đã biết một giá trị phần tử mảng nhưng không biết chỉ mục hoặc khóa của nó, chúng ta có thể cập nhật nó bằng cách lấy khóa của nó trước. lập chỉ mục bằng cách sử dụng hàm array_search() . Sau đó, chúng tôi sử dụng khóa hoặc chỉ mục tìm thấy theo cách tương tự như trong các ví dụ trên. Điều này chỉ hoạt động khi mảng có một phiên bản của giá trị đó.

cú pháp

mảng_tìm kiếm(giá trị, mảng)

Giá trị trả về. Chỉ mục hoặc khóa của phần tử mảng khớp với giá trị

Thông số

Tham sốYêu cầuMô tảgiá trịYêu cầuChỉ định giá trị có khóa. chỉ mục chúng tôi đang tìm kiếm. arrayRequiredChỉ định mảng mà từ đó chúng tôi đang tìm kiếm một giá trị phù hợp trong các phần tử

Thí dụ

đầu ra

Chỉ số mảng cho Green là 2

Trong ví dụ bên dưới, chúng ta sẽ cập nhật mảng để thay thế giá trị Red bằng Orange

";
print_r($colors);
echo "
"; $colors[array_search("Red", $colors)] = "Orange"; echo "Colors array after updating a value:
"; print_r($colors);

đầu ra

Mảng màu trước khi cập nhật
Mảng (
[0] => Đen
[1] => Trắng
[2] => Xanh lục
[3] => Đỏ
[4] => Màu xanh lam
)
Mảng màu sau khi cập nhật giá trị
Mảng (
[0] => Đen
[1] => Trắng
[2] => Xanh lục
[3] => Cam
[4] => Màu xanh lam
)

Cập nhật nhiều phần tử mảng cùng lúc trong PHP

Trong một số trường hợp, bạn có thể cần hoặc được yêu cầu cập nhật tất cả các giá trị của nhiều phần tử mảng cùng một lúc. Để làm điều đó, bạn sẽ cần sử dụng hàm array_replace()

The array_replace() là một hàm PHP dựng sẵn thay thế các giá trị của một mảng bằng các giá trị của một mảng khác có cùng khóa .

cú pháp

mảng_replace(mảng1, mảng2)

Hàm trả về một mảng hoặc null nếu xảy ra lỗi

Thông số

Tham sốYêu cầuMô tảmảng1Yêu cầuChỉ định mảng trong đó các phần tử sẽ được thay thếmảng2Yêu cầuChỉ định (các) mảng mà các phần tử thay thế sẽ được trích xuất từ ​​đó. Các giá trị từ các mảng sau ghi đè lên các giá trị trước đó

Nếu một khóa từ mảng đầu tiên tồn tại trong mảng thứ hai, giá trị của nó sẽ được thay thế bằng giá trị từ mảng thứ hai. Nếu khóa tồn tại trong mảng thứ hai chứ không phải ở mảng đầu tiên, thì nó sẽ được tạo trong mảng đầu tiên. Nếu một khóa chỉ tồn tại trong mảng đầu tiên, nó sẽ được giữ nguyên. Nếu một số mảng được truyền để thay thế, chúng sẽ được xử lý theo thứ tự, các mảng sau sẽ ghi đè các giá trị trước đó

Làm cách nào để thay thế các khóa mảng trong PHP?

function replace_key($arr, $oldkey, $newkey) {
if(array_key_exists( $oldkey, $arr)) {
$keys = array_keys($arr);
$keys[array_search($oldkey, $keys)] = $newkey;
trả về mảng_combine($keys, $arr);

Làm cách nào để thay đổi chỉ mục của một mảng trong PHP?

Việc lập chỉ mục lại của một mảng có thể được thực hiện bằng cách sử dụng một số hàm sẵn có cùng nhau . Các chức năng này là. hàm array_combine(). Hàm array_combine() là một hàm sẵn có trong PHP, được sử dụng để kết hợp hai mảng và tạo một mảng mới bằng cách sử dụng một mảng cho các khóa và một mảng khác cho các giá trị.

Array_keys() dùng để làm gì trong PHP?

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.

Array_walk trong PHP là gì?

Hàm array_walk() là một hàm có sẵn trong PHP . Hàm array_walk() đi qua toàn bộ mảng bất kể vị trí con trỏ và áp dụng hàm gọi lại hoặc hàm do người dùng xác định cho mọi phần tử của mảng. Các khóa và giá trị của phần tử mảng là các tham số trong hàm gọi lại.