Hàm trong mảng php
Trong các kiểu dữ liệu của mảng php là kiểu dữ liệu mà chúng ta thường xử lý nhiều nhất với nó. Trong bài viết này mình xin tổng hợp các hàm liên quan đến mảng php Show Thêm một phần tử vào mảngCó nhiều cách thêm vào mời bạn xem ví dụ sau 1 2 3 4 5 6 //Khởi tạo mảng rỗng $mảng = mảng(); // sử dụng mảng_push array_push($arr, 5); //cách thứ 2 $arr[] = 5; Delete an element from arrayĐể xóa một phần tử khỏi mảng thao tác như sau, đầu tiên chúng ta sẽ tìm kiếm chỉ mục với array_search, sau khi có chỉ mục rồi chúng ta sẽ sử dụng array_splice hoặc cũng có thể sử dụng unset Trong hướng dẫn này, tôi sẽ liệt kê một danh sách các hàm phổ biến về mảng trong PHP với các ví dụ về cách sử dụng và cách làm tốt nhất. Mỗi nhà phát triển PHP phải biết cách sử dụng chúng như thế nào và cách kết hợp các mảng để làm cho mã dễ đọc và rút ngắn Ngoài ra, còn có một bài thuyết trình đi kèm với các mã ví dụ, bạn có thể tải xuống từ các liên kết liên quan và đưa nó cho đồng nghiệp của bạn xem để xây dựng một đội ngũ ngũ cốc mạnh mẽ hơn Cơ bảnHãy bắt đầu với các chức năng cơ bản làm việc với các khóa và giá trị của mảng. Một số trong chúng là array_combine(), nó tạo ra một mảng bằng cách sử dụng các khóa của một mảng và các giá trị của một mảng khác 1 $keys = ['sky', 'grass', 'orange']; 2 $values = ['blue', 'green', 'orange']; 3 4 $array = array_combine($keys, $values); 5 print_r($array); 6 $keys = ['sky', 'grass', 'orange'];0 $keys = ['sky', 'grass', 'orange'];1 $keys = ['sky', 'grass', 'orange'];2 $keys = ['sky', 'grass', 'orange'];3 $keys = ['sky', 'grass', 'orange'];4 $keys = ['sky', 'grass', 'orange'];5 $keys = ['sky', 'grass', 'orange'];6 $keys = ['sky', 'grass', 'orange'];7 $keys = ['sky', 'grass', 'orange'];8 $keys = ['sky', 'grass', 'orange'];9 20 21 Bạn chắc chắn đã biết, array_values() trả về một mảng các giá trị đã được đặt chỉ mục, array_keys() trả về một mảng khóa của một mảng cho trước, và array_flip() đổi vị trí các khóa với các giá trị 1 23_______2_______ 25 3 27_______5__________ 51_______1 61_______3 $keys = ['sky', 'grass', 'orange'];0 $values = ['blue', 'green', 'orange'];4 $keys = ['sky', 'grass', 'orange'];2 $values = ['blue', 'green', 'orange'];6 $keys = ['sky', 'grass', 'orange'];4 $keys = ['sky', 'grass', 'orange'];9 $keys = ['sky', 'grass', 'orange'];6 30 Làm cho mã của bạn ngắn hơnHàm list(), nó không thực sự là một hàm, mà là một cấu trúc ngôn ngữ, được thiết kế để gán các biến theo một cách rút gọn. Ví dụ, đây là một ví dụ cơ bản về việc sử dụng hàm 309 1 32 2 34_______4_______ 4___ 37 54_______9_______9_______5_______1_______1_______0 43 $keys = ['sky', 'grass', 'orange'];2 $keys = ['sky', 'grass', 'orange'];4 46 $keys = ['sky', 'grass', 'orange'];6 48 Cấu trúc này hoạt động một cách hoàn hảo với các chức năng như 310 hoặc 311. Ngoài ra, bạn có thể bỏ qua một số tham số, nếu bạn không cần chúng phải được định nghĩa 1 $array = array_combine($keys, $values);0_______2_______ $array = array_combine($keys, $values);2 3 $array = array_combine($keys, $values);4 Ngoài ra, 309 có thể được sử dụng với 313, nó làm cho cấu trúc này thậm chí còn tốt hơn 1 $array = array_combine($keys, $values);6 2 3 $array = array_combine($keys, $values);9_______5__________ 51 5 53_______9_______ 55 Với hàm extract(), bạn có thể xuất một mảng kết hợp thành các biến. Đối với mỗi phần tử của một mảng, một biến sẽ được tạo ra với tên của một từ khóa và giá trị như một giá trị của biến 1 57 2 59_______4_______ print_r($array);1_______5__________ print_r($array);3 58_______5 6 $keys = ['sky', 'grass', 'orange'];0 print_r($array);8 $keys = ['sky', 'grass', 'orange'];2 $keys = ['sky', 'grass', 'orange'];4 61 Xin lưu ý rằng 314 là không hoàn toàn nếu bạn làm việc với người dùng dữ liệu (như kết quả của những yêu cầu), làm điều đó tốt hơn là sử dụng chức năng này với cờ 315 và 316 Ngược lại với hàm trước đó là hàm compact(), nó tạo ra một mảng kết hợp từ các biến 1 63 2 65 3 67_______5__________ 51_______00 68_______1_______0 $keys = ['sky', 'grass', 'orange'];2 $keys = ['sky', 'grass', 'orange'];1 $keys = ['sky', 'grass', 'orange'];4 $keys = ['sky', 'grass', 'orange'];3 $keys = ['sky', 'grass', 'orange'];6 $keys = ['sky', 'grass', 'orange'];09 $keys = ['sky', 'grass', 'orange'];8 $keys = ['sky', 'grass', 'orange'];11_______2_______0_______1_______13_______1_______14_______0 Các Hàm LọcCó một hàm tuyệt vời cho mảng, và nó được gọi là array_filter(). Truyền truy cập vào như một tham số đầu tiên và một hàm ẩn danh làm tham số thứ hai. Trả về 317 trong hàm gọi lại nếu bạn muốn khôi phục lại phần tử này trong mảng và 318 nếu bạn không muốn 1 $keys = ['sky', 'grass', 'orange'];17_______2_______ 3 $keys = ['sky', 'grass', 'orange'];20_______5_______ $keys = ['sky', 'grass', 'orange'];22 51_______24 6 $keys = ['sky', 'grass', 'orange'];0 $keys = ['sky', 'grass', 'orange'];27 Có một cách để lọc không chỉ bởi các giá trị. Bạn có thể sử dụng 319 hoặc 320 như một tham số thứ ba để truyền khóa hoặc cả giá trị và khóa vào hàm gọi lại Đồng thời, bạn có thể gọi 321 mà không cần gọi lại để loại bỏ tất cả các giá trị trống 1 $keys = ['sky', 'grass', 'orange'];29 2 3 $keys = ['sky', 'grass', 'orange'];32 4 5 $keys = ['sky', 'grass', 'orange'];35 Bạn có thể nhận được các giá trị duy nhất từ một mảng bằng cách sử dụng hàm array_unique(). Lưu ý rằng chức năng này sẽ đảm bảo lưu các khóa của các phần tử duy nhất đầu tiên 1 $keys = ['sky', 'grass', 'orange'];37 2 $keys = ['sky', 'grass', 'orange'];39 3 4 $keys = ['sky', 'grass', 'orange'];42 5 6 $keys = ['sky', 'grass', 'orange'];1 $keys = ['sky', 'grass', 'orange'];0 $keys = ['sky', 'grass', 'orange'];3 $keys = ['sky', 'grass', 'orange'];2 $keys = ['sky', 'grass', 'orange'];49 $keys = ['sky', 'grass', 'orange'];4 $keys = ['sky', 'grass', 'orange'];51 $keys = ['sky', 'grass', 'orange'];6 $keys = ['sky', 'grass', 'orange'];53 $keys = ['sky', 'grass', 'orange'];8_______1_______55_______2_______0_______1_______57_______1 Với array_column(), bạn có thể nhận được một danh sách các giá trị cột từ một mảng đa chiều, giống như một câu trả lời từ cơ sở dữ liệu SQL hoặc một lần nhập (nhập) từ một tệp CSV. Chỉ cần truyền vào một mảng và cột tên 1 57 21_______63 3 $keys = ['sky', 'grass', 'orange'];65 4 $keys = ['sky', 'grass', 'orange'];67 58_______5 6___ $keys = ['sky', 'grass', 'orange'];0 $keys = ['sky', 'grass', 'orange'];72 $keys = ['sky', 'grass', 'orange'];2 $keys = ['sky', 'grass', 'orange'];4 $keys = ['sky', 'grass', 'orange'];75 Bắt đầu từ PHP 7, 322 còn trở nên mạnh mẽ hơn, bởi vì bây giờ nó được phép. Vì vậy, làm việc với một mảng các mô hình trở nên dễ dàng hơn 1 $keys = ['sky', 'grass', 'orange'];77 21_______79 Duyệt qua các MảngSử dụng array_map(), bạn có thể áp dụng một cuộc gọi lại cho từng phần tử của một mảng. Bạn có thể truyền một tên hàm hoặc ẩn danh hàm để có một mảng mới dựa trên mảng đã cho 1 $keys = ['sky', 'grass', 'orange'];81 2 $keys = ['sky', 'grass', 'orange'];83_______4_______________5____1_______86 5 6 $keys = ['sky', 'grass', 'orange'];89 $keys = ['sky', 'grass', 'orange'];0 $keys = ['sky', 'grass', 'orange'];91 $keys = ['sky', 'grass', 'orange'];2 $keys = ['sky', 'grass', 'orange'];93 $keys = ['sky', 'grass', 'orange'];4 $keys = ['sky', 'grass', 'orange'];95 $keys = ['sky', 'grass', 'orange'];6 $keys = ['sky', 'grass', 'orange'];8 $keys = ['sky', 'grass', 'orange'];98 Có một người truyền thuyết nói rằng không có cách nào để truyền các giá trị và khóa của một mảng vào một cuộc gọi lại, nhưng họ có thể phá vỡ điều đó 1 200_______2_______ 3___ 203 4 205_______7_______2_______07 61_______0 210 $keys = ['sky', 'grass', 'orange'];2 212 $keys = ['sky', 'grass', 'orange'];4 $keys = ['sky', 'grass', 'orange'];6 $keys = ['sky', 'grass', 'orange'];1 $keys = ['sky', 'grass', 'orange'];8 $keys = ['sky', 'grass', 'orange'];3_______2_______0_______2_______19_______2_ $keys = ['sky', 'grass', 'orange'];2_______20 Nhưng điều này có vẻ không tốt. Tốt hơn là sử dụng array_walk() để thay thế. Hàm này trông giống như 323, nhưng cách hoạt động lại khác. Trước đó, một mảng được truyền bằng một tham chiếu, do đó, 324 không tạo ra một mảng mới, mà mảng đã thay đổi. Vì vậy, với một mảng nguồn, bạn có thể truyền giá trị mảng bằng một tham chiếu trong một cuộc gọi lại. Các khóa của mảng cũng có thể được truyền đi một cách dễ dàng 1 225 2 227 3 229 4 231 5 print_r($array);5 6 $keys = ['sky', 'grass', 'orange'];0 236 $keys = ['sky', 'grass', 'orange'];2 238 $keys = ['sky', 'grass', 'orange'];4 $keys = ['sky', 'grass', 'orange'];24 $keys = ['sky', 'grass', 'orange'];6 $keys = ['sky', 'grass', 'orange'];8 243 20 $keys = ['sky', 'grass', 'orange'];14 $keys = ['sky', 'grass', 'orange'];1 222 $keys = ['sky', 'grass', 'orange'];3 249 250 251 252 253 254 255 30 Order các MảngCách tốt nhất để hợp nhất hai hoặc nhiều mảng nhất trong PHP là sử dụng hàm array_merge(). Các phần tử của các mảng sẽ được hợp nhất lại với nhau và các giá trị tương ứng với một khóa sẽ bị ghi đè bằng giá trị cuối cùng 1 258 2 260 3 4 263 52_______65 61_______1 $keys = ['sky', 'grass', 'orange'];0 $keys = ['sky', 'grass', 'orange'];3 $keys = ['sky', 'grass', 'orange'];2 271 $keys = ['sky', 'grass', 'orange'];4 273 $keys = ['sky', 'grass', 'orange'];6 275_______1_______8_______2_______77_______2_______0_______2_______1 Để loại bỏ các giá trị của mảng khỏi một mảng khác (hoặc các mảng), hãy sử dụng array_diff(). Để lấy các giá trị có sẵn trong các mảng cho trước, hãy sử dụng array_intersect(). Các ví dụ tiếp theo sẽ cho thấy nó hoạt động như thế nào 1 281 2 283_______4_______ 4 286 52_______88 6 $keys = ['sky', 'grass', 'orange'];0 291 $keys = ['sky', 'grass', 'orange'];2 293 Làm toán với các giá trị của MãngSử dụng array_sum() để lấy tổng giá trị của mảng, array_product() cho nhân viên, hoặc tạo công thức của riêng bạn với array_reduce() 1 295_______2_______ 3___ 298_______5_______3_______00_______7_______ 6 $values = ['blue', 'green', 'orange'];03 $keys = ['sky', 'grass', 'orange'];0 $values = ['blue', 'green', 'orange'];05 $keys = ['sky', 'grass', 'orange'];2 $values = ['blue', 'green', 'orange'];07 Để đếm tất cả các giá trị của một mảng, hãy sử dụng array_count_values(). Nó sẽ cung cấp cho bạn tất cả các giá trị duy nhất của một mảng cho trước như các khóa và kết quả là các giá trị này được tính như một giá trị 1 $values = ['blue', 'green', 'orange'];09 2 $values = ['blue', 'green', 'orange'];11_______4_______ 4 $values = ['blue', 'green', 'orange'];14 5 6 $keys = ['sky', 'grass', 'orange'];1 $keys = ['sky', 'grass', 'orange'];0 $keys = ['sky', 'grass', 'orange'];3 $keys = ['sky', 'grass', 'orange'];2 $values = ['blue', 'green', 'orange'];21 $keys = ['sky', 'grass', 'orange'];4 $values = ['blue', 'green', 'orange'];23 $keys = ['sky', 'grass', 'orange'];6 $values = ['blue', 'green', 'orange'];25 $keys = ['sky', 'grass', 'orange'];8_______4_______0 Create MảngĐể tạo một mảng với một kích thước được định rõ nhất và các giá trị như nhau, hãy sử dụng array_fill() 1 $values = ['blue', 'green', 'orange'];29 23_______31 Để tạo một mảng với một dãy khóa và giá trị, giống như giờ trong ngày hoặc các ký tự, hãy sử dụng phạm vi () 1 $values = ['blue', 'green', 'orange'];33_______2_______ $values = ['blue', 'green', 'orange'];35_______4_______ 4 $values = ['blue', 'green', 'orange'];38 53_______40 Để lấy một phần của mảng, ví dụ, chỉ ba phần tử đầu tiên—sử dụng array_slice() 1 $values = ['blue', 'green', 'orange'];42____2_______ $values = ['blue', 'green', 'orange'];44 3 $values = ['blue', 'green', 'orange'];46 Sắp xếp MảngNên nhớ rằng mọi hàm sắp xếp trong PHP đều hoạt động với các mảng bằng tham chiếu và trả về true nếu thành công hoặc sai nếu thất bại. Có một hàm sắp xếp cơ bản được gọi là sort(), và nó sắp xếp các giá trị theo thứ tự tăng dần mà không lưu các từ khóa. Sắp xếp hạng có thể được thêm vào trước bằng các ký tự sau
Bạn có thể thấy sự kết hợp của các chữ cái này trong bảng sau aruaasortarsortuasortkksortkrsortrarsortkrsortrsortuuasort sử dụng Kết hợp các Hàm Mảng Một cách chuyên nghiệpMa thuật thực sự bắt đầu khi bạn kết hợp các mảng chức năng. Dưới đây là cách bạn có thể cắt và xóa các giá trị trống chỉ bằng một dòng mã với 321 và 323 1 $values = ['blue', 'green', 'orange'];48 2 3 $values = ['blue', 'green', 'orange'];51_______5_______ $values = ['blue', 'green', 'orange'];53 Để tạo một id cho một bản đồ tiêu đề từ một mảng các mô hình, chúng ta có thể sử dụng một sự kết hợp của 327 và 322 1 $values = ['blue', 'green', 'orange'];55_______2_______ 3 $values = ['blue', 'green', 'orange'];58_______5_______ $values = ['blue', 'green', 'orange'];60 53_______62 6 $values = ['blue', 'green', 'orange'];64 Để có được giá trị đầu tiên của một mảng, chúng ta có thể sử dụng 329, 330 và 331 1 $values = ['blue', 'green', 'orange'];66 2 3 $values = ['blue', 'green', 'orange'];69 4 $values = ['blue', 'green', 'orange'];71_______7_______3_______73 61_______0 $values = ['blue', 'green', 'orange'];76 $keys = ['sky', 'grass', 'orange'];2 $keys = ['sky', 'grass', 'orange'];1 $keys = ['sky', 'grass', 'orange'];4 $keys = ['sky', 'grass', 'orange'];3 $keys = ['sky', 'grass', 'orange'];6 $values = ['blue', 'green', 'orange'];82 $keys = ['sky', 'grass', 'orange'];8_______3_______84_______2_______0_______3_ print_r($array);86_______1_______1 Rất dễ sử dụng 332 và 323 để tính tổng theo thứ tự trong một vài dòng 1 $values = ['blue', 'green', 'orange'];90 2 $values = ['blue', 'green', 'orange'];92 3___ $values = ['blue', 'green', 'orange'];94_______5_______3_______96 58_______5 6___ $keys = ['sky', 'grass', 'orange'];0 301 $keys = ['sky', 'grass', 'orange'];2 303 $keys = ['sky', 'grass', 'orange'];4 305 $keys = ['sky', 'grass', 'orange'];6 $keys = ['sky', 'grass', 'orange'];8_______4_______08 tóm tắtNhư bạn thấy đó, kiến thức về các hàm chính để thao tác mảng có thể làm cho mã của bạn trở nên ngắn gọn hơn và dễ đọc hơn. Tất nhiên, PHP có nhiều hơn các mảng hàm này, và ngay cả các hàm đã cho cũng có nhiều biến thể để sử dụng với các tham số và cờ, nhưng tôi nghĩ rằng trong hướng dẫn này, chúng ta đã khái quát những điều này Xin hãy lưu ý rằng tôi đã tạo một bản thuyết trình với các ví dụ đã chọn, để bạn có thể tải xuống từ các liên kết có liên quan và đưa ra cho nhóm của bạn xem |