Làm cách nào để khởi tạo một danh sách trong PHP?

Danh sách Python là tập hợp các giá trị được sắp xếp và có thể chứa bất kỳ loại giá trị nào. Nó là một thùng chứa nơi chúng ta có thể chèn, xóa hoặc sửa đổi các giá trị hiện có vì danh sách có thể thay đổi trong Python. Không giống như các bộ, danh sách có thể giữ cùng một giá trị nhiều lần và coi mỗi giá trị là một mục riêng biệt. Trong hướng dẫn này, chúng ta sẽ đọc cách khởi tạo một danh sách trong Python

Mục lục

  • Giới thiệu về danh sách khởi tạo Python
  • Khởi tạo bằng dấu ngoặc vuông trong Python
  • Sử dụng hàm list[] để khởi tạo danh sách
  • Sử dụng khả năng hiểu để khởi tạo danh sách
  • Khởi tạo bằng toán tử *
  • Bớt tư tưởng

Giới thiệu về danh sách khởi tạo Python

Trong Python, người dùng có thể thực hiện một tác vụ bằng nhiều cách khác nhau. Tương tự, để khởi tạo một danh sách trong Python, có nhiều cách để làm điều đó và chúng ta sẽ thảo luận một số cách trong hướng dẫn này


Khởi tạo danh sách bằng dấu ngoặc vuông trong Python

Nếu bạn muốn tạo một danh sách trống không có giá trị nào trong Python, dấu ngoặc vuông là cách để khởi tạo danh sách có giá trị trống. Bạn chỉ cần khai báo một danh sách không có giá trị bằng cách chỉ định một tập hợp các dấu ngoặc vuông không có giá trị mục

Đầu vào

list = []
print [list]

list = [1,2,3,4]
print [list]

đầu ra

[]
[1,2,3,4]




Sử dụng hàm list[] để khởi tạo danh sách trong Python

Đó là một cách khác để tạo danh sách trống không có giá trị trong Python vì hàm list[] tạo danh sách từ đối tượng có thể lặp lại

Một iterable có thể là một vùng chứa, một chuỗi hỗ trợ phép lặp hoặc một đối tượng lặp. Nếu không có tham số nào được chỉ định, thì một danh sách trống mới sẽ được tạo

Đầu vào

list_1 = list[]
print [list_1]

res = []
print [data == res]

đầu ra

[]
TRUE

Vì cách tiếp cận dấu ngoặc vuông mang tính hướng dẫn và ngắn gọn hơn nên nó được ưu tiên hơn cách tiếp cận hàm list[]


Sử dụng khả năng hiểu để khởi tạo danh sách trong Python

Để khởi tạo danh sách với các giá trị mặc định, chúng ta có thể sử dụng phương thức đọc hiểu. Nó bao gồm các dấu ngoặc vuông chứa một biểu thức, theo sau là mệnh đề for và tiếp theo là mệnh đề if tùy chọn. Biểu thức có thể là bất kỳ loại đối tượng nào mà bạn muốn đưa vào danh sách. Vì người dùng đang khởi tạo danh sách bằng 0 nên biểu thức sẽ chỉ là 0

Hiểu danh sách là một cách dễ dàng để xác định danh sách dựa trên trình lặp vì nó thanh lịch, đơn giản và được công nhận rộng rãi

Đầu vào

list = [i for i in range[5]]
print [list]

đầu ra

[0,1,2,3,4]

Phương pháp này nhanh hơn nhiều so với việc sử dụng vòng lặp for và while để khởi tạo danh sách trong Python


Khởi tạo danh sách bằng toán tử * trong Python

Một cách tiếp cận khác để khởi tạo danh sách có nhiều giá trị là toán tử *. Cú pháp là [object]*n trong đó n là số phần tử không có trong mảng

Phương pháp này cho phép chúng tôi tạo một danh sách với một số lượng cụ thể các giá trị được xác định trước

Đầu vào

list = [5]*10
print [list]

đầu ra

[5,5,5,5,5,5,5,5,5,5]

Đây là phương thức nhanh nhất trong số tất cả các phương thức được thảo luận để khởi tạo danh sách trong Python

Hạn chế duy nhất của việc sử dụng toán tử * để khởi tạo danh sách trong Python là khi khai báo mảng 2d vì nó tạo danh sách nông. e chỉ có một đối tượng danh sách sẽ được tạo và tất cả các chỉ số sẽ đề cập đến đối tượng này, điều này có thể gây bất tiện. Đó là lý do tại sao trong trường hợp mảng 2d, hiểu là cách tốt hơn để khởi tạo danh sách


Bớt tư tưởng

Khởi tạo danh sách là một trong những điều cơ bản cần biết khi làm việc với danh sách. Chúng ta đã thảo luận về dấu ngoặc vuông và hàm list[] để tạo danh sách trống và khả năng hiểu và toán tử * để tạo danh sách có nhiều giá trị. Mọi người có thể tìm hiểu về các khái niệm Python khác tại đây

PHP8. 1 bổ sung một tính năng có vẻ như là một chi tiết nhỏ, nhưng một tính năng mà tôi nghĩ sẽ có tác động đáng kể hàng ngày đối với nhiều người. Vì vậy, "mới trong bộ khởi tạo RFC" này là gì?

________số 8

Trong ví dụ về máy trạng thái này, chúng tôi muốn xây dựng lớp của mình theo hai cách. có và không có trạng thái ban đầu. Nếu chúng tôi xây dựng nó mà không có trạng thái ban đầu, chúng tôi muốn đặt một trạng thái mặc định. Tất nhiên, PHP hỗ trợ đặt giá trị ban đầu trực tiếp trong danh sách tham số, nhưng chỉ dành cho các kiểu nguyên thủy. Ví dụ: nếu máy trạng thái của chúng tôi sử dụng các chuỗi thay vì các đối tượng bên trong, chúng tôi có thể viết hàm tạo của nó như vậy

class MyStateMachine
{
    public function __construct[
        private string $state = 'initial',
    ] {
    }
}

Vì vậy, với PHP 8. 1, chúng tôi cũng có thể sử dụng cú pháp "giá trị mặc định" đó cho các đối tượng. Nói cách khác. bạn có thể sử dụng

[]
[1,2,3,4]
6 cho các đối số mặc định [là một ví dụ về "bộ khởi tạo"]

[]
[1,2,3,4]
0

Tuy nhiên, "Bộ khởi tạo" không chỉ là giá trị mặc định của tham số, đây là lời giải thích đơn giản từ RFC

RFC này đề xuất cho phép sử dụng các biểu thức mới bên trong các giá trị mặc định của tham số, đối số thuộc tính, bộ khởi tạo biến tĩnh và bộ khởi tạo hằng số toàn cầu

Bạn đọc nó đúng. các thuộc tính cũng nằm trong danh sách này. Hãy tưởng tượng một thư viện xác thực đơn giản sử dụng các thuộc tính để xác thực đầu vào trên các thuộc tính. Có lẽ nó sẽ có thể xác thực các phần tử mảng, đại loại như thế này

[]
[1,2,3,4]
1

Trước PHP 8. 1, bạn sẽ không thể viết loại mã này, vì bạn không được phép sử dụng

[]
[1,2,3,4]
6 trong các thuộc tính, do cách chúng được đánh giá, nhưng bây giờ bạn có thể

Hãy cùng điểm qua một số chi tiết quan trọng đáng nói

Xem video mới nhất của tôi

PHP trong 1 phút

Chỉ thi công khi cần thiết

Những loại "giá trị mới" này sẽ chỉ được xây dựng khi thực sự cần thiết. Điều đó có nghĩa là, trong ví dụ đầu tiên của chúng tôi, PHP sẽ chỉ tạo một đối tượng mới của

[]
[1,2,3,4]
8 nếu không có đối số nào được đưa ra

[]
[1,2,3,4]
2

Ví dụ, trong trường hợp các thuộc tính, các đối tượng sẽ chỉ được tạo khi

class MyStateMachine
{
    public function __construct[
        private string $state = 'initial',
    ] {
    }
}
0 được gọi trên thuộc tính phản chiếu

Không thuộc tính lớp

Bạn cũng nên biết rằng bạn không thể sử dụng

[]
[1,2,3,4]
6 làm giá trị mặc định trong thuộc tính của lớp. Hỗ trợ chức năng này sẽ gây ra nhiều tác dụng phụ không lường trước được, ví dụ, khi sắp xếp và hủy sắp xếp các đối tượng

[]
[1,2,3,4]
4

May mắn thay, chúng tôi đã thăng cấp các thuộc tính cho phép một giá trị mặc định, vì PHP sẽ phiên mã cú pháp thăng hạng thuộc tính, giữ giá trị mặc định trong đối số hàm tạo, chứ không phải trong thuộc tính thực tế

Đây là phiên bản được dịch mã trông như thế nào

[]
[1,2,3,4]
5

Đầu vào hạn chế

Bạn có thể đã đoán ra, nhưng bạn chỉ có thể chuyển một bộ đầu vào giới hạn khi xây dựng các đối tượng mới trong bộ khởi tạo. Ví dụ: bạn không thể sử dụng biến, toán tử trải rộng, lớp ẩn danh, v.v. Tuy nhiên, đó là một bổ sung rất đáng hoan nghênh

PHP ngày càng tốt hơn với mỗi bản cập nhật. Một số người cho rằng những thay đổi này không thực sự cần thiết vì chúng không thêm bất kỳ chức năng mới nào vào ngôn ngữ;

👍

👍

👍 0

Nhận thấy một tpyo? . Nếu bạn muốn cập nhật những gì đang diễn ra trên blog này, bạn có thể theo dõi tôi trên Twitter hoặc đăng ký nhận bản tin của tôi. Đăng ký email

Làm cách nào để khởi tạo một mảng trong PHP?

Cú pháp tạo mảng rỗng. $emptyArray = []; . Tại thời điểm này, $emptyArray chứa “đầu tiên”, với lệnh này và gửi “đầu tiên” đến mảng được khai báo trống khi bắt đầu. While push an element to the array it can use $emptyArray[] = “first”. At this time, $emptyArray contains “first”, with this command and sending “first” to the array which is declared empty at starting.

Làm cách nào để tạo danh sách mảng trong PHP?

Hàm list[ ] trong PHP dùng để gán giá trị cho một danh sách các biến trong một thao tác. Chức năng này đã được giới thiệu trong PHP 4. 0. .

Chủ Đề