Thêm bớt phần tử mảng trong PHP


Để xóa một phần tử mảng và lập chỉ mục lại mảng, mã như sau−

Thí dụ

Bản thử trực tiếp

";
   foreach( $arr as $value ) {
      echo "Value = $value
";    }    echo "
Comma separated list...
";    print_r(implode(', ', $arr));    $result = array_map('trim', $arr);    echo "
Updated Array...
";    foreach( $result as $value ) {       echo "Value = $value
";    }    unset($result[1]);    echo "
Updated Array...Re-indexed
";    $result2 = array_values($result);    foreach( $result2 as $value ) {       echo "Value = $value
";    } ?>

đầu ra

Điều này sẽ tạo ra đầu ra sau−

Array with leading and trailing whitespaces...
Value = John
Value = Jacob
Value = Tom
Value = Tim
Comma separated list...
John , Jacob , Tom , Tim
Updated Array...
Value = John
Value = Jacob
Value = Tom
Value = Tim
Updated Array...Re-indexed
Value = John
Value = Tom
Value = Tim

Thêm bớt phần tử mảng trong PHP


Thêm bớt phần tử mảng trong PHP

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 tôi sẽ kết thúc với $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 để thêm bớt phần tử mảng trong PHP?

php // Thêm phần tử vào đầu mảng array_unshift($array, 'zero'); Đây là cách xóa một phần tử khỏi .

Làm cách nào để xóa phần tử khỏi mảng trong PHP?

Nếu bạn chỉ muốn xóa một phần tử mảng, bạn có thể sử dụng unset() hoặc \array_splice() . Nếu bạn biết giá trị và không biết khóa để xóa phần tử, bạn có thể sử dụng \array_search() để lấy khóa.

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

Nếu bạn muốn xóa một mục khỏi mảng, bạn có thể sử dụng phương thức pop() để xóa phần tử cuối cùng hoặc phương thức shift() để xóa phần tử đầu tiên< . Tuy nhiên, nếu mục bạn muốn xóa không phải là phần tử đầu tiên hoặc cuối cùng, thì các phương pháp này không phải là công cụ cho công việc. . However, if the item you want to remove is not the first or last element, these methods are not the tools for the job.

Làm cách nào để xóa 3 phần tử cuối cùng khỏi mảng 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.