Mảng không đặt trong PHP là gì?

Nếu bạn xem kỹ ví dụ trên, bạn sẽ thấy rằng hàm

array_splice [ array &$input , int $offset [, int $length = count[$input] [, mixed $replacement = array[] ]] ] : array
5 không lập chỉ mục lại mảng sau khi xóa giá trị khỏi mảng số [dòng số 8]. Để khắc phục bạn có thể sử dụng hàm
array_splice [ array &$input , int $offset [, int $length = count[$input] [, mixed $replacement = array[] ]] ] : array
6. Phải mất ba tham số. một mảng, độ lệch [bắt đầu từ đâu] và độ dài [số phần tử cần xóa]. Hãy xem nó thực sự hoạt động như thế nào

Đô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

Một trong những tác vụ phổ biến nhất trong PHP là xóa phần tử khỏi mảng. Hướng dẫn ngắn này sẽ giải thích chi tiết cho bạn cách thực hiện

Thông thường, chức năng unset[] được sử dụng cho mục đích đó

Đây là một ví dụ rõ ràng, chỉ ra cách xóa một phần tử khỏi một mảng

Tuy nhiên, sau khi quan sát kỹ ví dụ này, bạn có thể nhận thấy rằng mảng không được lập chỉ mục lại bởi hàm sau khi loại bỏ giá trị khỏi mảng số. Để giải quyết vấn đề đó, bạn có thể áp dụng hàm array_splice[]. Nó bao gồm ba tham số sau. một mảng, độ lệch và độ dài. Nó hoạt động như thế này

Unset[] được coi là một hàm biến được xác định trước trong PHP để hủy đặt một biến nhất định. Nói cách khác, chức năng này được sử dụng để hủy các biến. Hành vi của nó thay đổi trong chức năng do người dùng xác định. Trong trường hợp một biến toàn cục không được đặt trong một hàm, thì việc không đặt sẽ hủy nó cục bộ, ban đầu để lại cùng một giá trị được cung cấp cho bên ngoài

❮ Tham chiếu xử lý biến PHP

Thí dụ

Bỏ đặt biến

$a = "Xin chào thế giới. ";
echo "Giá trị của biến 'a' trước đó không được đặt. ". $a. "
";
unset[$a];
echo "Giá trị của biến 'a' sau khi không đặt. ". $a;
?>

Tự mình thử »

Định nghĩa và cách sử dụng

Hàm unset[] hủy đặt một biến

cú pháp

Giá trị tham số

Tham sốMô tảbiếnBắt buộc. Chỉ định biến để bỏ đặt. Không bắt buộc. Một biến khác để bỏ đặt

chi tiết kỹ thuật

Giá trị trả về. Không có Loại trả lại. Không cóPhiên bản PHP. 4. 0+❮ Tham chiếu xử lý biến PHP

Có nhiều cách khác nhau để xóa một phần tử mảng, trong đó một số cách hữu ích cho một số tác vụ cụ thể hơn những cách khác

Xóa một phần tử mảng

Nếu bạn chỉ muốn xóa một phần tử mảng, bạn có thể sử dụng

[
    [0] => a
    [2] => c
]
0 hoặc cách khác là
[
    [0] => a
    [2] => c
]
1

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

[
    [0] => a
    [2] => c
]
2 để lấy khóa. Điều này chỉ hoạt động nếu phần tử không xảy ra nhiều lần, vì
[
    [0] => a
    [2] => c
]
3 chỉ trả về lần truy cập đầu tiên

Lưu ý rằng khi bạn sử dụng

[
    [0] => a
    [2] => c
]
0, các khóa của mảng sẽ không thay đổi. Nếu bạn muốn lập chỉ mục lại các khóa, bạn có thể sử dụng
[
    [0] => a
    [2] => c
]
5 sau
[
    [0] => a
    [2] => c
]
0, điều này sẽ chuyển đổi tất cả các khóa thành các khóa được liệt kê bằng số bắt đầu từ 0

Mã số

array array_values [ array $array ]
2

đầu ra

[
    [0] => a
    [2] => c
]

Nếu bạn sử dụng

[
    [0] => a
    [2] => c
]
1, các khóa sẽ tự động được lập chỉ mục lại, nhưng các khóa kết hợp sẽ không thay đổi — trái ngược với
[
    [0] => a
    [2] => c
]
5, sẽ chuyển đổi tất cả các khóa thành khóa số

[
    [0] => a
    [2] => c
]
1 cần phần bù, không phải khóa, làm tham số thứ hai

Mã số

array array_values [ array $array ]
7

đầu ra

array array_values [ array $array ]
8

array array_values [ array $array ]
70, giống như
[
    [0] => a
    [2] => c
]
0, lấy mảng theo tham chiếu. Bạn không gán giá trị trả về của các hàm đó cho mảng

Xóa nhiều phần tử mảng

Nếu bạn muốn xóa nhiều phần tử mảng và không muốn gọi hàm

[
    [0] => a
    [2] => c
]
0 hoặc
[
    [0] => a
    [2] => c
]
1 nhiều lần thì có thể sử dụng hàm
array array_values [ array $array ]
74 hoặc
array array_values [ array $array ]
75 tùy thuộc vào việc bạn có biết giá trị hoặc khóa của phần tử muốn xóa hay không.

Nếu bạn biết giá trị của các phần tử mảng mà bạn muốn xóa, thì bạn có thể sử dụng

array array_values [ array $array ]
74. Như trước đây với
[
    [0] => a
    [2] => c
]
0, nó sẽ không thay đổi các khóa của mảng

Mã số

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

đầu ra

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

Nếu bạn biết khóa của các phần tử mà bạn muốn xóa, thì bạn muốn sử dụng

array array_values [ array $array ]
75. Bạn phải đảm bảo rằng bạn chuyển các khóa dưới dạng khóa trong tham số thứ hai chứ không phải dưới dạng giá trị. Khóa sẽ không lập chỉ mục lại

Mã số

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

đầu ra

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

Nếu bạn muốn sử dụng

[
    [0] => a
    [2] => c
]
0 hoặc
[
    [0] => a
    [2] => c
]
1 để xóa nhiều phần tử có cùng giá trị, bạn có thể sử dụng
array array_values [ array $array ]
81 để lấy tất cả các khóa cho một giá trị cụ thể rồi xóa tất cả phần tử

Unset[] trong PHP là gì?

unset[] hủy các biến đã chỉ định . Hành vi của unset[] bên trong một hàm có thể khác nhau tùy thuộc vào loại biến mà bạn đang cố hủy. Nếu một biến toàn cầu hóa không được đặt [] bên trong một hàm, thì chỉ biến cục bộ bị hủy.

Làm cách nào để hủy đặt toàn bộ mảng trong PHP?

Mã dưới đây là để hủy đặt cùng một mảng, foreach[$your_array_variable as $key=>$val]{ $val = ''; . Vì vậy, các khóa sẽ như cũ nhưng các giá trị sẽ bị xóa. Both of the above code will help you to just unset the values only and won't clear the keys. So keys will be as it is but values will be cleared.

Unset và unlink là gì?

Hàm unlink[] được sử dụng khi bạn muốn xóa hoàn toàn các tập tin. Hàm unset[] được sử dụng khi bạn muốn làm trống tệp đó . Chức năng hủy liên kết []. Hàm unlink[] là một hàm có sẵn trong PHP dùng để xóa một tập tin.

Tôi có nên sử dụng PHP chưa đặt không?

Nó phụ thuộc vào biến là gì. Nếu đó là một mảng lớn tiêu thụ một vài meg dữ liệu và tập lệnh của bạn có khả năng cần nhiều bộ nhớ trong tương lai [tôi. e. trước khi nó kết thúc thực thi] thì sẽ là khôn ngoan khi đánh dấu bộ nhớ này là có sẵn để sử dụng bằng cách bỏ cài đặt mảng

Chủ Đề