Mảng đa chiều phức tạp hơn nhiều so với mảng tuyến tính. Tương tự như vậy, việc cập nhật các khóa cụ thể trong một mảng đa chiều bằng cách sử dụng phương pháp lặp là phức tạp và không thể đoán trước. Show
Vì vậy, trong bài viết này, chúng ta sẽ vượt qua thử thách và khám phá cách cập nhật khóa cụ thể trong mảng đa chiều trong PHP. Làm cách nào để cập nhật giá trị khóa trong mảng PHP?Bài viết “Cách cập nhật giá trị khóa trong mảng PHP” khám phá ba tùy chọn để thay đổi khóa trong một mảng tuyến tính.
Trong số ba điều này, lập chỉ mục trực tiếp nổi bật về hiệu quả. Điều đó nói rằng, bài viết này sẽ sử dụng kết hợp những thứ này để phát triển một hàm chung để xử lý các mảng nhiều chiều Cách cập nhật khóa cụ thể trong mảng đa chiều trong PHPTrước khi đi sâu vào các ví dụ mã, trước tiên hãy xem mảng nhiều chiều
Mảng
Hãy xem một ví dụ sử dụng vòng lặp và lập chỉ mục trực tiếp để cập nhật khóa “Bài kiểm tra số 1” thành “MidTerm” trong tất cả các mảng con.
Đây là sự cố của chức năng
Vì vậy, đây là đầu ra của hàm cho mảng ở trên
Trông mát mẻ. Nhưng giả sử mảng nhiều chiều thay đổi thành một thứ như sau
Nó có vẻ vô nghĩa nhưng tệ hơn là chức năng không hỗ trợ cấu trúc này. Nó sẽ báo lỗi ngay lập tức. Nói một cách đơn giản hơn, nó không đủ chung chung. Vì vậy, lối thoát sau đó là gì? Lối thoát là viết một hàm chung sử dụng đệ quy. Vì vậy, trong phần tiếp theo, chúng ta sẽ xem cách cập nhật khóa cụ thể trong mảng nhiều chiều bằng cách sử dụng đệ quy Cập nhật đệ quy khóa cụ thể trong mảng đa chiều trong PHPCác thuật toán đệ quy thích ứng với các mảng bất kể kích thước của chúng và đó là lý do tại sao chúng siêu linh hoạt và mạnh mẽ. Ví dụ sau sử dụng hàm đệ quy để cập nhật khóa cụ thể trong mảng đa chiều trong PHP
Hàm changeName đã được sửa đổi thành hàm đệ quy. Logic cốt lõi của việc cập nhật khóa trông giống nhau. Các lệnh gọi đệ quy xảy ra nếu hàm không tìm thấy khóa trong một mảng con. Vì vậy, nó sẽ giảm càng nhiều cấp độ càng tốt chỉ để tìm và cập nhật một khóa cụ thể. Ngoài ra, lưu ý rằng chúng tôi sẽ không trả về từ hàm vì nó lấy mảng theo tham chiếu, do đó thực hiện các thay đổi tại chỗ Đây là đầu ra
thì đấy. Chúng tôi đã tạo một hàm chung để cập nhật khóa cụ thể trong một mảng đa chiều trong PHP Phần kết luậnBài viết tổng quan về những thách thức khi làm việc với một mảng nhiều chiều và sau đó khám phá một ví dụ không chung chung nhưng cập nhật thành công một khóa cụ thể. Sau đó, bài viết chuyển sang một hàm đệ quy chung cập nhật một khóa cụ thể trong một mảng đa chiều ở bất kỳ độ sâu nào Hy vọng, bạn đã thích bài viết này. Tìm hiểu thêm về PHP tại FuelingPHP. Bạn muốn tìm hiểu thêm về PHP?Chúng tôi có nhiều bài viết thú vị liên quan đến PHP. Bạn có thể khám phá những điều này để tìm hiểu thêm về PHP
Bài viết liên quanCách cập nhật giá trị khóa trong mảng kết hợp PHP Cách sử dụng array_map với mảng nhiều chiều trong PHP Cách lấy tổng số lượng cụ thể What is an associative array or hash map in PHP
Viết mã tốt hơn nhanh hơn Nhấp vào đây để nhận các bí mật hàng đầu 'Trở thành Rockstar PHP Dev trong 7 ngày' của chúng tôi được gửi đến hộp thư đến của bạn đăng ký Stephen Phép Lạ Chào. Tôi hy vọng bạn thích bài viết này. Tôi đã phát triển các trang web và phần mềm một cách chuyên nghiệp trong hơn 20 năm. Tôi bắt đầu FuelingPHP như một cách để đền đáp lại cộng đồng nguồn mở đã giúp tôi có thể sống thoải mái khi xây dựng những thứ tôi yêu thích Làm cách nào để xóa khóa mảng khỏi mảng đa chiều trong PHP?Xóa khóa khỏi mảng kết hợp php
. $array = array("key1" => "value1", "key2" => "value2"); . Here we will remove/delete the elements/values in the array with the key without using array_pop function.
Làm cách nào để xóa khóa và giá trị khỏi mảng trong PHP?Để xóa một khóa và giá trị tương ứng của nó khỏi một mảng kết hợp trong PHP, bạn có thể sử dụng hàm unset() . Như tên của hàm gợi ý, bạn sử dụng hàm unset() để bỏ đặt một biến đã cho hoặc trong trường hợp này là một khóa mảng với giá trị của nó.
Làm cách nào để xóa phần tử đầu tiên khỏi mảng đa chiều trong PHP?Hàm array_shift() xóa phần tử đầu tiên khỏi một mảng và trả về giá trị của phần tử đã xóa.
Làm cách nào để xóa phần tử cuối cùng khỏi mảng đa chiều trong PHP?Để xóa phần tử hoặc giá trị cuối cùng khỏi một mảng, sử dụng hàm array_pop() . Hàm này trả về phần tử bị loại bỏ cuối cùng của mảng và trả về NULL nếu mảng trống hoặc không phải là mảng. |