Cách thêm và xóa giá trị khỏi mảng trong PHP?

Đôi khi trong quá trình làm việc với PHP, cần xóa và lập chỉ mục lại một phần tử mảng. Ở đây, chúng tôi đã tập hợp các phương pháp hữu ích sẽ giúp đạt được điều đó

Kiến thức về CSS

Trong phần này, chúng ta sẽ tiến hành loại bỏ một phần tử mảng bằng hàm unset[] và sau đó lập chỉ mục lại nó bằng array_values[]

Hàm unset[] được sử dụng để hủy đặt một biến đã cho

Cú pháp như sau

unset[mixed $var, mixed ...$vars]: void

Hàm array_values[] nhằm mục đích trả về tất cả các giá trị từ mảng và lập chỉ mục bằng số cho mảng

Cú pháp như sau

array array_values [ array $array ]

Bây giờ, hãy xem hai hàm này hoạt động như thế nào

Đầu ra sẽ hiển thị như sau

array[2] {
  [0]=>
  string[5] "w3docs"
  [2]=>
  string[5] "w3docs"
}
array[2] {
  [0]=>
  string[5] "w3docs"
  [1]=>
  string[5] "w3docs"
}

Có một giải pháp thay thế, quá. Nó đang sử dụng hàm array_splice[], được sử dụng để loại bỏ một phần của mảng và thay thế nó bằng bất kỳ thứ gì khác

Cú pháp của hàm này như sau

array_splice [ array &$input , int $offset [, int $length = count[$input] [, mixed $replacement = array[] ]] ] : array

Để hiểu rõ hơn về cách chức năng này hoạt động, hãy xem ví dụ bên dưới

Đầu ra sẽ như sau

array[2] {
  [0]=>
  string[5] "w3docs"
  [1]=>
  string[5] "w3docs"
}

Mảng là một biến chứa tập hợp các giá trị khác, có sẵn trên các chỉ mục cụ thể. Để truy cập giá trị của một mảng, chúng ta cần chỉ định tên của mảng và chỉ số của dữ liệu

Hàm array_splice[] loại bỏ các phần tử đã chọn khỏi một mảng và thay thế nó bằng các phần tử mới. Hàm cũng trả về một mảng với các phần tử đã bị xóa

Mẹo. Nếu hàm không loại bỏ bất kỳ phần tử nào [độ dài = 0] thì mảng được thay thế sẽ được chèn vào từ vị trí của tham số bắt đầu [Xem ví dụ 2]

Khi làm việc với mảng, bạn có thể thường thấy mình ở vị trí cần thêm một số mục bổ sung vào mảng hoặc xóa một số mục bạn đã thêm. PHP có một vài hàm được thiết kế để trợ giúp bạn trong quá trình này, cho phép bạn thêm các phần tử mới vào đầu hoặc cuối mảng hoặc xóa các phần tử khỏi đầu hoặc cuối mảng

Đẩy pop

Để bắt đầu, tôi sẽ giải thích cách thêm phần tử vào hoặc xóa phần tử ở cuối mảng. Có hai cách đơn giản để thêm phần tử vào cuối mảng trong PHP. Đầu tiên là “đẩy” phần tử lên mảng. Điều này đặc biệt hữu ích khi bạn muốn thêm nhiều phần tử vào cuối mảng cùng một lúc. Bạn có thể làm điều đó bằng cách sử dụng hàm array_push với một số mã tương tự như

$arr = array['test1','test2'];
array_push[$arr,'test3','liftoff'];

Sử dụng mã ở trên, chúng tôi đã tạo một mảng mới có tên là “$arr” và thêm hai phần tử vào đó. Sau đó, chúng tôi đã sử dụng hàm array_push để thêm hai phần tử mới vào mảng. Hai phần tử mới đó sẽ được thêm vào cuối mảng theo cùng thứ tự mà bạn đã liệt kê chúng trong hàm. Do đó, thứ tự của các phần tử trong mảng bây giờ sẽ là 'test1', 'test2', 'test3', 'liftoff'

Nếu bạn chỉ thêm một phần tử mới vào một mảng hiện có, thì việc sử dụng dấu ngoặc trống sẽ dễ dàng hơn. Do đó, thay vì sử dụng array_push[$arr,'test3'];, chúng tôi sẽ sử dụng $arr[] = 'test3';

Thay vào đó, nếu bạn muốn lấy phần tử cuối cùng ra khỏi một mảng, bạn có thể “bật” nó ra. Sử dụng hàm array_pop, chúng ta có thể loại bỏ phần tử cuối cùng trong mảng và thậm chí chúng ta có thể lưu trữ giá trị đó trong biến mới của chính nó. Chẳng hạn, giả sử bạn có một tên tệp và bạn muốn tìm hiểu phần mở rộng của tệp là gì. Bạn có thể làm một cái gì đó như sau

$filename = 'testing.css';
$filename = explode['.',$filename];
$extension = array_pop[$filename];

Đoạn mã trên sẽ biến chuỗi “testing. css” thành một mảng, tách nó ra bất cứ nơi nào có dấu chấm trong chuỗi. Sau đó, chúng tôi sẽ kết thúc với một mảng có các phần tử 'thử nghiệm' và 'css' theo thứ tự đó. Sau đó, chúng tôi sử dụng hàm array_pop để xóa 'css' khỏi mảng và lưu trữ nó dưới dạng một biến mới có tên là $extension

Dịch chuyển và Unshifting

Vì vậy, bây giờ bạn đã biết cách thêm phần tử mới vào và xóa phần tử ở cuối mảng; . PHP cung cấp thêm hai hàm cho phép bạn thêm các phần tử mới vào hoặc xóa các phần tử khỏi phần đầu của mảng thay vì phần cuối

Để thêm phần tử mới vào đầu mảng, bạn sẽ sử dụng hàm array_unshift. Ví dụ: giả sử bạn đang cố tạo một URL permalink dựa trên tên trang, tên gốc của nó và tên gốc của trang đó [ông bà của trang gốc?]. Bạn có thể dễ dàng sử dụng hàm array_unshift để làm điều gì đó tương tự. Tôi nhận ra rằng ví dụ dưới đây trông hơi ngớ ngẩn, vì tôi có tên trang, tên cha mẹ và tên ông bà trong tập lệnh;

$pagename='testing';
$parent='category';
$grandparent='section';
$fileurl = array['testing'];
array_unshift[$fileurl,$parent];
array_unshift[$fileurl,$grandparent];
$fileurl = implode['/',$fileurl].'.html';

Sử dụng ví dụ trên, chúng ta sẽ có $fileurl trông giống như section/category/testing.html

Bây giờ, giả sử bạn đã tạo sẵn một mảng và bạn nhận ra rằng mình cần lấy phần tử đầu tiên ra khỏi mảng đó. Bạn sẽ sử dụng hàm array_shift để làm như vậy. Giả sử bạn đang dự định chạy một vòng lặp foreach trên mảng của mình, nhưng bạn nhận ra rằng bạn cần xử lý phần tử đầu tiên trong mảng khác với phần còn lại [có thể đó là tiêu đề cần được bọc trong thẻ h2 hoặc thứ gì đó, trong khi . Bạn có thể làm một cái gì đó như

Làm cách nào để xóa một giá trị khỏi mảng trong PHP?

Sử dụng hàm unset[] . Hàm unset[] dùng để xóa phần tử khỏi mảng. Hàm unset được sử dụng để hủy bất kỳ biến nào khác và sử dụng tương tự để xóa bất kỳ phần tử nào của một mảng. Lệnh bỏ đặt này lấy khóa mảng làm đầu vào và xóa phần tử đó khỏi mảng.

Chúng ta có thể thêm hoặc xóa các phần tử khỏi mảng không?

Bạn có thể thêm hoặc bớt phần tử khỏi mảng ở bất kỳ vị trí nào .

Làm cách nào để thêm các phần tử trong mảng PHP?

Hàm array_push[] chèn một hoặc nhiều phần tử vào cuối mảng . Mẹo. Bạn có thể thêm một giá trị hoặc bao nhiêu tùy thích. Ghi chú. Ngay cả khi mảng của bạn có các phím chuỗi, các phần tử được thêm vào của bạn sẽ luôn có các phím số [Xem ví dụ bên dưới].

Làm cách nào để thay thế một phần tử trong một mảng trong PHP?

Hàm array_replace[] thay thế các giá trị của mảng đầu tiên bằng các giá trị của các mảng tiếp theo. Mẹo. Bạn có thể gán một mảng cho hàm hoặc bao nhiêu mảng tùy thích. Nếu một khóa từ mảng1 tồn tại trong mảng2, các giá trị từ mảng1 sẽ được thay thế bằng các giá trị từ mảng2.

Chủ Đề