Mảng có phải là một đối tượng PHP không?

Trong một ứng dụng PHP, chúng tôi đang làm việc với dữ liệu ở nhiều định dạng khác nhau như chuỗi, mảng, đối tượng, v.v. Trong một ứng dụng thời gian thực, chúng ta có thể cần đọc một đối tượng php kết quả ở dạng một mảng kết hợp để có được đầu ra mong muốn

Vì vậy, chúng ta sẽ thảo luận ở đây cách chuyển đổi một đối tượng php thành một mảng kết hợp trong PHP

Hãy giải thích đối tượng và mảng kết hợp trong PHP là gì? . Nó chỉ đơn giản là một mẫu vật của một lớp và được cấp phát bộ nhớ. Mặt khác, một mảng bao gồm chuỗi dưới dạng chỉ mục được gọi là mảng kết hợp. Nó chứa một cặp khóa-giá trị trong đó, trong đó các giá trị được liên kết với các khóa tương ứng của chúng

Bây giờ chúng ta hãy thảo luận về các phương pháp khác nhau để chuyển đổi đối tượng thành một mảng

Phương pháp1

Sử dụng kỹ thuật json_decode và json_encode

Ban đầu, hàm json_encode[] trả về một chuỗi được mã hóa JSON cho một giá trị nhất định. Hàm json_decode[] thay đổi nó thành một mảng PHP

Ví dụ

firstname = $firstname;
         $this->lastname = $lastname;
      }
   }
   $myObj = new student["Alex", "Stokes"];
   echo "Before conversion:".'
';    var_dump[$myObj];    $myArray = json_decode[json_encode[$myObj], true];    echo "After conversion:".'
';    var_dump[$myArray]; ?>

đầu ra

Before conversion:
object[student]#1 [2] { ["firstname"]=> string[4] "Alex" ["lastname"]=> string[6] "Stokes" }
After conversion:
array[2] { ["firstname"]=> string[4] "Alex" ["lastname"]=> string[6] "Stokes" }

Giải trình

Ở đây chúng ta đã tạo một lớp student và bên trong lớp đó, chúng ta đã khai báo một hàm __construct[], hàm này được thực thi khi đối tượng được tạo. Hàm tạo nhận các đối số được cung cấp sau này khi tạo đối tượng với sự trợ giúp của từ khóa mới. Trong biểu thức var_dump[] đầu tiên, chúng ta đang in đối tượng, nhưng trong trường hợp thứ hai, chúng ta đang chuyển đổi đối tượng thành một mảng với sự trợ giúp của kỹ thuật json_decode và json_encode

Phương pháp 2

Chuyển đổi một đối tượng thành một mảng bằng kỹ thuật đánh máy

Typecasting là cách tiếp cận để sử dụng một biến kiểu dữ liệu thành kiểu dữ liệu khác và nó chỉ đơn giản là sự chuyển đổi chính xác của một kiểu dữ liệu

item1 = $item1;
         $this->item2 =$item2;
         $this->item3 = $item3;
      }
   }
   $myBag = new bag["Books", "Ball", "Pens"];
   echo "Before conversion :".'
';    var_dump[$myBag];    $myBagArray = [array]$myBag;    echo "After conversion :".'
';    var_dump[$myBagArray]; ?>

đầu ra

Before conversion :
object[bag]#1 [3] { ["item1"]=> string[5] "Books" ["item2"]=> string[4] "Ball" ["item3"]=> string[4] "Pens" }
After conversion:
array[3] { ["item1"]=> string[5] "Books" ["item2"]=> string[4] "Ball" ["item3"]=> string[4] "Pens" }

Giải trình

Ở đây chúng ta đã tạo một lớp "túi" và bên trong lớp đó, chúng ta đã khai báo một hàm __construct[], hàm này được thực thi khi đối tượng được tạo. Hàm tạo nhận các đối số được cung cấp sau này khi tạo đối tượng với sự trợ giúp của từ khóa mới. Trong biểu thức var_dump[] đầu tiên, chúng ta chỉ in đối tượng, nhưng trong trường hợp thứ hai, chúng ta gợi ý kiểu đối tượng thành một mảng với sự trợ giúp của thủ tục gợi ý kiểu

Bài viết sau đây cung cấp một phác thảo cho đối tượng PHP thành mảng. Như chúng ta đã biết, đối tượng được biết đến như một thể hiện của lớp được cấp phát bộ nhớ. Trong trường hợp của một mảng, nó là một cấu trúc dữ liệu chứa một hoặc nhiều giá trị của một loại tương tự trong một tên duy nhất. Mặt khác, một mảng kết hợp không giống như một mảng PHP thông thường. Mảng kết hợp là một mảng bao gồm một chỉ mục chuỗi lưu trữ các giá trị mục được liên kết với các giá trị khóa khác với thứ tự của chỉ mục tuyến tính

Các phương thức của một đối tượng PHP thành mảng

Bây giờ, chúng ta hãy xem các cách khác nhau để chúng ta có thể chuyển đổi đối tượng PHP thành mảng

Bắt đầu khóa học phát triển phần mềm miễn phí của bạn

Phát triển web, ngôn ngữ lập trình, kiểm thử phần mềm và những thứ khác

Gói phát triển phần mềm tất cả trong một[hơn 600 khóa học, hơn 50 dự án]

Giá
Xem khóa học

600+ Khóa học trực tuyến. hơn 50 dự án. Hơn 3000 giờ. Giấy chứng nhận có thể kiểm chứng. Truy cập Trọn đời
4. 6 [84.398 xếp hạng]

Phương pháp 1

Với sự trợ giúp của phương thức json_decode và json_encode

Trong phương thức này, hàm json_decode lấy chuỗi được mã hóa JSON và thay đổi nó thành một biến PHP, trong khi hàm json_encode trả về một chuỗi được mã hóa ở định dạng json cho một giá trị cụ thể

cú pháp

$arr = json_decode[json_encode [ $obj ] , true];

Phương pháp 2

Với sự trợ giúp của kiểu đúc

Typecasting là một kỹ thuật trong đó một kiểu dữ liệu biến thành một kiểu dữ liệu khác. Nó được coi là một chuyển đổi kiểu dữ liệu rõ ràng. Nó có thể dịch một đối tượng PHP thành một mảng với sự trợ giúp của các quy tắc đánh máy trong PHP

cú pháp

$arr = [array] $obj;

Làm cách nào để chuyển đổi một đối tượng thành một mảng trong PHP?

Như chúng ta đã biết, có một số định dạng dữ liệu như chuỗi, đối tượng, mảng, v.v. Trong trường hợp PHP cũng vậy, có các định dạng dữ liệu như thế này. Để có được đầu ra cần thiết, cần có kết quả đối tượng php obj ở định dạng của một mảng kết hợp

Bây giờ, chúng ta hãy xem cách dịch một đối tượng php

Mã số

Đây là bộ xương để chuyển đổi một đối tượng thành một mảng

Bây giờ chúng ta hãy xem làm thế nào để thực hiện điều này

  • Để mã hóa chuỗi, hãy sử dụng “object = json_encode[$array];”

Khi đối tượng là var_dump, tất cả các mục sẽ được hiển thị

  • Để giải mã thành một đối tượng, một chuỗi json có sẵn sẽ được sử dụng để chuyển đổi và định dạng chuỗi được thực hiện cho một đối tượng. Nó sẽ được thực hiện bằng cách sử dụng $obj = json_decode[json_encode[$arr]];
  • Khi đối tượng là var_dump, tất cả các mục sẽ được hiển thị sau khi chuyển thành mảng

Ở đây, một điểm quan trọng cần xem xét là json_decode dịch một chuỗi json thành một đối tượng, ngoại trừ việc bạn đưa ra một tùy chọn khác là boolean, tùy chọn này có thể đúng hoặc sai. Ngay cả khi tham số thứ hai được coi là đúng, một mảng sẽ thu được

Ngoài ra, khi thao tác mã hóa json và thao tác giải mã được sử dụng, các mảng được chuyển đổi thành các đối tượng chiếm nhiều tài nguyên nếu mảng lớn. Trong trường hợp đó, phương pháp tốt hơn để nhập truyền một mảng tới một đối tượng sử dụng đối tượng truyền

Xem xét $obj = [đối tượng] $arr; . Ở đây cũng vậy, đối tượng sẽ được chuyển đổi thành mảng

Dựa trên các yêu cầu, bạn có thể chọn phương thức bạn muốn để chuyển đổi một mảng thành một đối tượng trong PHP

Ví dụ về một đối tượng PHP thành mảng

Các ví dụ khác nhau được đề cập dưới đây

Ví dụ 1

Chương trình PHP để chuyển đổi một đối tượng thành một mảng bằng phương thức typecasting

Mã số

đầu ra

Trong chương trình này, một bệnh viện lớp được tạo và bên trong đó, ba phần tử như el1, el2 và el3. Sau đó, một hàm __construct[] được khai báo, hàm này sẽ được thực thi trong thời gian đối tượng được tạo. Khi điều này được thực hiện, hàm tạo sẽ nhận các tham số được cung cấp sau này trong quá trình tạo đối tượng bằng cách sử dụng từ khóa “mới”. Từ chương trình, có thể thấy rằng các đối tượng được in trong trường hợp đầu tiên của biểu thức var_dump[]. Nhưng trong trường hợp thứ hai của biểu thức, một đối tượng được chuyển thành một mảng bằng cách sử dụng thủ tục nhập liệu

Ví dụ #2

Chương trình PHP để chuyển đổi một đối tượng thành một mảng bằng mã hóa json và giải mã json

Mã số

________số 8

đầu ra

Trong chương trình này, một bệnh viện lớp được tạo và bên trong đó, hai phần tử như el1 và el2 được tạo. Sau đó, một hàm __construct[] được khai báo, hàm này sẽ được thực thi trong thời gian đối tượng được tạo. Khi điều này được thực hiện, hàm tạo sẽ nhận các tham số được cung cấp sau này trong quá trình tạo đối tượng bằng cách sử dụng từ khóa “mới”. Từ chương trình, có thể thấy rằng các đối tượng được in trong trường hợp đầu tiên của biểu thức var_dump[]. Nhưng trong trường hợp thứ hai của biểu thức, một đối tượng được chuyển thành một mảng bằng cách sử dụng thủ tục nhập liệu. Ở đây, phương thức đầu tiên trong phần phương thức được sử dụng để chuyển đổi một đối tượng thành một mảng

Phần kết luận

Mảng kết hợp là một mảng bao gồm một chỉ mục chuỗi lưu trữ các giá trị mục được liên kết với các giá trị khóa khác với thứ tự của chỉ mục tuyến tính. Bài viết này đã xem cách thức hoạt động của đối tượng PHP đối với mảng, các phương pháp để đạt được điều đó và các ví dụ khác nhau

Bài viết được đề xuất

Đây là hướng dẫn đối tượng PHP thành mảng. Ở đây chúng ta thảo luận về giới thiệu, phương pháp, cách chuyển đổi đối tượng thành mảng trong PHP? . Bạn cũng có thể xem các bài viết sau để tìm hiểu thêm –

Là một mảng là một đối tượng?

Trong ngôn ngữ lập trình Java, mảng là các đối tượng được tạo động và có thể được gán cho các biến kiểu Object. Tất cả các phương thức của lớp Đối tượng có thể được gọi trên một mảng.

Sự khác biệt giữa mảng và đối tượng trong PHP là gì?

Sự khác biệt cơ bản giữa mảng PHP và đối tượng là chúng ta không thể thay đổi quy tắc của mảng . PHP ngôn ngữ xác định những gì chúng ta có thể và không thể làm với một mảng và không có cách nào để chương trình PHP của bạn thay đổi điều đó. Mặt khác, các đối tượng có các quy tắc được xác định bởi chương trình PHP mà chúng đang chạy trong đó.

Là đối tượng mảng hay biến?

Mảng là đối tượng . Toán tử typeof trong JavaScript trả về "đối tượng" cho mảng.

Mảng và đối tượng có giống nhau không?

Mảng được sử dụng tốt nhất khi các phần tử là số. các đối tượng được sử dụng tốt nhất khi các phần tử là chuỗi [văn bản] . Dữ liệu bên trong một mảng được gọi là phần tử. Dữ liệu bên trong các đối tượng được gọi là Thuộc tính bao gồm khóa và giá trị.

Chủ Đề