Hướng dẫn php class to array - lớp php thành mảng
Chỉ cần đánh máy nó Show Nội dung chính ShowShow
Từ mảng:
Ví dụ: Đối tượng đơn giản
Output:
Ví dụ: Đối tượng phức tạp
Đầu ra (với \ 0S được chỉnh sửa cho rõ ràng):
Đầu ra với 6 thay vì 7:
Typecasting theo cách này sẽ không thực hiện việc đúc sâu của biểu đồ đối tượng và bạn cần áp dụng các byte null (như được giải thích trong trích dẫn thủ công) để truy cập bất kỳ thuộc tính không công khai nào. Vì vậy, điều này hoạt động tốt nhất khi đúc các đối tượng hoặc đối tượng stdclass chỉ có các thuộc tính công cộng. Để nhanh chóng và bẩn (những gì bạn yêu cầu) nó ổn. Cũng xem bài đăng trên blog chuyên sâu này:
Đã trả lời ngày 3 tháng 12 năm 2010 lúc 12:40Dec 3, 2010 at 12:40Dec 3, 2010 at 12:40 GordongordonGordonGordon 308K72 Huy hiệu vàng527 Huy hiệu bạc552 Huy hiệu đồng72 gold badges527 silver badges552 bronze badges72 gold badges527 silver badges552 bronze badges 20 Bạn có thể nhanh chóng chuyển đổi các đối tượng lồng nhau thành các mảng kết hợp bằng cách dựa vào hành vi của các hàm mã hóa/giải mã JSON:
Elia Weiss 7.39212 Huy hiệu vàng63 Huy hiệu bạc100 Huy hiệu Đồng12 gold badges63 silver badges100 bronze badges12 gold badges63 silver badges100 bronze badges Đã trả lời ngày 19 tháng 4 năm 2013 lúc 18:56Apr 19, 2013 at 18:56Apr 19, 2013 at 18:56 Jeff Standenjeff StandenJeff StandenJeff Standen 6.3401 Huy hiệu vàng15 Huy hiệu bạc17 Huy hiệu đồng1 gold badge15 silver badges17 bronze badges1 gold badge15 silver badges17 bronze badges 12 Từ bản hit đầu tiên của Google cho "Php Object to PGS mảng", chúng tôi có điều này:
Nguồn là tại CodeSnippets.joyent.com. Để so sánh nó với giải pháp của 8, cái này có vẻ nhanh hơn. Dưới đây là một điểm chuẩn ngẫu nhiên (sử dụng đo thời gian đơn giản): 18 Nếu thuộc tính đối tượng của bạn là công khai, bạn có thể làm: 2Nếu chúng là riêng tư hoặc được bảo vệ, chúng sẽ có tên khóa kỳ lạ trên mảng. Vì vậy, trong trường hợp này, bạn sẽ cần chức năng sau: 0 Đã trả lời ngày 15 tháng 4 năm 2013 lúc 19:48Apr 15, 2013 at 19:48Apr 15, 2013 at 19:48 Ramon K.Ramon K.Ramon K.Ramon K. 3.3693 huy hiệu vàng18 Huy hiệu bạc26 Huy hiệu đồng3 gold badges18 silver badges26 bronze badges3 gold badges18 silver badges26 bronze badges 6 Còn 9 thì sao? Có vẻ hữu ích nếu bạn chỉ muốn truy cập các thuộc tính công khai của một đối tượng.Xem get_object_vars. Đã trả lời ngày 11 tháng 12 năm 2013 lúc 14:21Dec 11, 2013 at 14:21Dec 11, 2013 at 14:21 JoejoeJoeJoe 2522 Huy hiệu bạc9 Huy hiệu Đồng2 silver badges9 bronze badges2 silver badges9 bronze badges 0 1Đầu ra 2Đã trả lời ngày 9 tháng 1 năm 2014 lúc 2:41Jan 9, 2014 at 2:41Jan 9, 2014 at 2:41 IsiusisiusIsiusIsius 6.3722 Huy hiệu vàng21 Huy hiệu bạc31 Huy hiệu Đồng2 gold badges21 silver badges31 bronze badges2 gold badges21 silver badges31 bronze badges 1 Nhập đúc đối tượng của bạn vào một mảng. 3Nó sẽ giải quyết vấn đề của bạn. Đã trả lời ngày 3 tháng 12 năm 2010 lúc 12:50Dec 3, 2010 at 12:50Dec 3, 2010 at 12:50 AdeeladeelAdeelAdeel 6051 Huy hiệu vàng6 Huy hiệu bạc16 Huy hiệu đồng1 gold badge6 silver badges16 bronze badges1 gold badge6 silver badges16 bronze badges 2 Đây là một số mã: 4Đã trả lời ngày 20 tháng 9 năm 2011 lúc 15:33Sep 20, 2011 at 15:33Sep 20, 2011 at 15:33 KhalidkhalidKhalidKhalid 1391 Huy hiệu bạc2 Huy hiệu đồng1 silver badge2 bronze badges1 silver badge2 bronze badges 1 Tất cả các câu trả lời khác được đăng ở đây chỉ làm việc với các thuộc tính công cộng. Dưới đây là một giải pháp hoạt động với các đối tượng giống như Javabeans bằng cách sử dụng phản xạ và getters: 5Đã trả lời ngày 5 tháng 2 năm 2013 lúc 11:09Feb 5, 2013 at 11:09Feb 5, 2013 at 11:09 4 Để chuyển đổi một đối tượng thành mảng, chỉ cần đúc nó một cách rõ ràng: 6Đã trả lời ngày 29 tháng 6 năm 2015 lúc 12:53Jun 29, 2015 at 12:53Jun 29, 2015 at 12:53 Bạn cũng có thể tạo một chức năng trong PHP để chuyển đổi một mảng đối tượng: 7Đã trả lời ngày 27 tháng 2 năm 2017 lúc 9:51Feb 27, 2017 at 9:51Feb 27, 2017 at 9:51 Rakhi Prajapatirakhi PrajapatiRakhi PrajapatiRakhi Prajapati 8021 Huy hiệu vàng12 Huy hiệu bạc22 Huy hiệu đồng1 gold badge12 silver badges22 bronze badges1 gold badge12 silver badges22 bronze badges 0 Sử dụng: 8Nó trả về một mảng không có ký tự đặc biệt và tên lớp. Sebastian 1.2076 huy hiệu bạc18 Huy hiệu đồng6 silver badges18 bronze badges6 silver badges18 bronze badges Đã trả lời ngày 12 tháng 6 năm 2014 lúc 19:24Jun 12, 2014 at 19:24Jun 12, 2014 at 19:24 ovniaovniaovniaovnia 2.3704 Huy hiệu vàng31 Huy hiệu bạc54 Huy hiệu đồng4 gold badges31 silver badges54 bronze badges4 gold badges31 silver badges54 bronze badges 1 Trước hết, nếu bạn cần một mảng từ một đối tượng, bạn có thể nên tạo thành dữ liệu như một mảng trước. Nghĩ về nó. Không sử dụng câu lệnh 0 hoặc các phép biến đổi JSON. Nếu bạn đang lên kế hoạch này, một lần nữa bạn làm việc với cấu trúc dữ liệu, không phải với một đối tượng.Nếu bạn thực sự cần nó sử dụng một cách tiếp cận hướng đối tượng để có mã sạch và có thể bảo trì. Ví dụ: Đối tượng dưới dạng mảng 9Nếu bạn cần tất cả các thuộc tính, hãy sử dụng đối tượng chuyển: 0Đã trả lời ngày 27 tháng 2 năm 2016 lúc 9:32Feb 27, 2016 at 9:32Feb 27, 2016 at 9:32 John Smithjohn SmithJohn SmithJohn Smith 1.0558 Huy hiệu bạc17 Huy hiệu đồng8 silver badges17 bronze badges8 silver badges17 bronze badges 1 Bạn có thể dễ dàng sử dụng chức năng này để có được kết quả: 1Sử dụng PHP & nbsp; 5 trở lên.PHP 5 or later.PHP 5 or later. Đã trả lời ngày 3 tháng 6 năm 2016 lúc 8:56Jun 3, 2016 at 8:56Jun 3, 2016 at 8:56 Giải pháp ngắn của @spyk3hh 2Đã trả lời ngày 25 tháng 1 năm 2017 lúc 12:17Jan 25, 2017 at 12:17Jan 25, 2017 at 12:17 Abdul Rehmanabdul RehmanAbdul RehmanAbdul Rehman 1.5683 huy hiệu vàng23 Huy hiệu bạc35 Huy hiệu đồng3 gold badges23 silver badges35 bronze badges3 gold badges23 silver badges35 bronze badges Dưới đây là chức năng PHP đệ quy của tôi để chuyển đổi các đối tượng PHP thành mảng kết hợp: 3Ví dụ sử dụng: 4Đã trả lời ngày 3 tháng 2 năm 2014 lúc 14:38Feb 3, 2014 at 14:38Feb 3, 2014 at 14:38 Rabattorabattorabattorabatto 511 Huy hiệu bạc2 Huy hiệu đồng1 silver badge2 bronze badges1 silver badge2 bronze badges 2 Chức năng tùy chỉnh để chuyển đổi stdclass thành mảng: 5Một chức năng tùy chỉnh khác để chuyển đổi mảng thành stdclass: 6Ví dụ sử dụng: 7Đã trả lời ngày 3 tháng 2 năm 2014 lúc 14:38Feb 3, 2014 at 14:38Feb 25, 2014 at 19:24 RabattorabattorabattoRounds 511 Huy hiệu bạc2 Huy hiệu đồng1 silver badge2 bronze badges4 gold badges19 silver badges30 bronze badges Chức năng tùy chỉnh để chuyển đổi stdclass thành mảng: 8Một chức năng tùy chỉnh khác để chuyển đổi mảng thành stdclass:Jan 26, 2017 at 11:55 Đã trả lời ngày 25 tháng 2 năm 2014 lúc 19:24Feb 25, 2014 at 19:24 9Vòng trònRoundsJul 17, 2012 at 22:43 1.8694 Huy hiệu vàng19 Huy hiệu bạc 30 Huy hiệu Đồng4 gold badges19 silver badges30 bronze badgesmetaldog Ngoài ra, bạn có thể sử dụng thành phần symfony serializer1 silver badge2 bronze badges 2 Đã trả lời ngày 26 tháng 1 năm 2017 lúc 11:55Jan 26, 2017 at 11:55 0Bạn có thể muốn làm điều này khi bạn lấy dữ liệu dưới dạng đối tượng từ cơ sở dữ liệu:Jun 8, 2016 at 15:48 Đã trả lời ngày 17 tháng 7 năm 2012 lúc 22:43Jul 17, 2012 at 22:43Daniel Guerrero Metaldogmetaldogmetaldog1 gold badge2 silver badges8 bronze badges 711 huy hiệu bạc2 huy hiệu đồng1 silver badge2 bronze badges 1Câu trả lời này chỉ là sự kết hợp của các câu trả lời khác nhau của bài đăng này, nhưng đó là giải pháp để chuyển đổi một đối tượng PHP bằng các thuộc tính công khai hoặc riêng tư với các giá trị hoặc mảng đơn giản thành một mảng kết hợp ... Đã trả lời ngày 8 tháng 6 năm 2016 lúc 15:48Jun 8, 2016 at 15:48Daniel Guerrerodaniel GuerreroDaniel GuerreroJul 24, 2015 at 13:23 1841 Huy hiệu vàng2 Huy hiệu bạc8 Huy hiệu đồng1 gold badge2 silver badges8 bronze badges Một số bừa bộn cho mã "tốt" 2Lưu ý rằng nếu hàm là thành viên của một lớp (như trên), bạn phải thay đổi 3 1 thành 2 4Đã trả lời ngày 24 tháng 7 năm 2015 lúc 13:23Jul 24, 2015 at 13:23 Đối với trường hợp của bạn, nó là đúng/đẹp nếu bạn sử dụng các mẫu "trang trí" hoặc "biến đổi mô hình ngày". Ví dụ:Feb 16, 2019 at 16:32 Mô hình của bạn 5Người trang trí Cách sử dụngFeb 3, 2014 at 8:54 Vì vậy, nó sẽ đẹp hơn và mã chính xác hơn.Fedir RYKHTIK Đã trả lời ngày 16 tháng 2 năm 2019 lúc 16:32Feb 16, 2019 at 16:326 gold badges55 silver badges67 bronze badges Chuyển đổi và loại bỏ các ngôi sao khó chịu: 6Có lẽ, nó sẽ rẻ hơn so với sử dụng phản xạ.Mar 22, 2018 at 12:52 Đã trả lời ngày 3 tháng 2 năm 2014 lúc 8:54Feb 3, 2014 at 8:54 3Fedir Rykhtikfedir RykhtikFedir RYKHTIK 79.6346 Huy hiệu vàng55 Huy hiệu bạc67 Huy hiệu Đồng6 gold badges55 silver badges67 bronze badgesMay 6, 2016 at 16:07 Có đề xuất của tôi, nếu bạn có các đối tượng trong các đối tượng với các thành viên riêng tư: 8Đã trả lời ngày 22 tháng 3 năm 2018 lúc 12:52Mar 22, 2018 at 12:52 9Vì nhiều người tìm thấy câu hỏi này vì gặp sự cố với các thuộc tính truy cập động của một đối tượng, tôi sẽ chỉ ra rằng bạn có thể làm điều này trong PHP: Apr 20, 2017 at 9:31 Trong bối cảnh (đã loại bỏ đầu ra HTML cho khả năng đọc): 0Đã trả lời ngày 6 tháng 5 năm 2016 lúc 16:07May 6, 2016 at 16:07Jun 12, 2019 at 20:35 Bằng cách sử dụng typecasting, bạn có thể giải quyết vấn đề của mình. Chỉ cần thêm các dòng sau vào đối tượng trả về của bạn: 1Bạn cũng có thể thêm một cặp khóa và giá trị mới vào nó bằng cách sử dụng: 2Sẽ in cái này: 3Đã trả lời ngày 20 tháng 12 năm 2019 lúc 9:06Dec 20, 2019 at 9:06Dec 20, 2019 at 9:06 Ling Linglingling 8.8134 Huy hiệu vàng48 Huy hiệu bạc46 Huy hiệu đồng4 gold badges48 silver badges46 bronze badges4 gold badges48 silver badges46 bronze badges 2 4Đã trả lời ngày 7 tháng 5 năm 2014 lúc 10:11May 7, 2014 at 10:11May 7, 2014 at 10:11 1 Ở đây tôi đã tạo một phương thức objectToArray (), cũng hoạt động với các đối tượng đệ quy, như khi 4 chứa 5 một lần nữa chỉ ra 4.objectToArray() method, which also works with recursive objects, like when 4 contains 5 which points again to 4.objectToArray()
method, which also works with recursive objects, like when 4 contains 5 which points again to 4.Ngoài ra, tôi đã giới hạn đầu ra cho các thuộc tính công cộng bằng cách sử dụng Class ReflectionClass. Loại bỏ nó, nếu bạn không cần nó. 5Để xác định các đối tượng đã được sử dụng, tôi đang sử dụng một thuộc tính được bảo vệ trong lớp (Tóm tắt) này, được đặt tên là 7. Nếu một đối tượng lồng nhau được tìm thấy, nó sẽ được thay thế bằng chuỗi 8. Nếu không, nó sẽ thất bại vì vòng lặp vô hạn.Đã trả lời ngày 15 tháng 5 năm 2015 lúc 0:31May 15, 2015 at 0:31May 15, 2015 at 0:31 ArminarminArminArmin 15K9 Huy hiệu vàng46 Huy hiệu bạc63 Huy hiệu Đồng9 gold badges46 silver badges63 bronze badges9 gold badges46 silver badges63 bronze badges 1 Làm cách nào để chuyển đổi một chuỗi thành một mảng trong PHP?Sau đây là danh sách đầy đủ các phương thức có thể được sử dụng trong PHP để chuyển đổi chuỗi thành một mảng .... hàm str_split () .. nổ tung ("Delimiter", String). hàm preg_split () .. Chức năng str_word_count () .. Vòng lặp thủ công qua chuỗi .. hàm json_decode () .. chức năng unserialize () .. Làm thế nào để bạn chuyển đổi một phần tử thành một mảng?Approach:.. . Lưu trữ giá trị số nguyên trong một biến .. Typecast số nguyên thành một chuỗi .. Sử dụng phương thức Split () để biến nó thành một loạt các chuỗi .. Lặp lại trên mảng đó bằng phương thức bản đồ () .. Sử dụng phương thức bản đồ () trả về mảng chuỗi thành một mảng số nguyên .. Làm cách nào để chuyển đổi một chuỗi thành một mảng?Trong Java, có bốn cách để chuyển đổi một chuỗi thành một mảng chuỗi:... Sử dụng chuỗi.Chia () Phương thức .. Sử dụng mẫu.Chia () Phương thức .. Sử dụng chuỗi [] tiếp cận .. Sử dụng phương thức toarray () .. Bạn sẽ nhận được mảng nào nếu bạn chuyển đổi một đối tượng thành một mảng trong PHP?Nếu một đối tượng được chuyển đổi thành một mảng, kết quả là một mảng có các phần tử là thuộc tính của đối tượng.an array whose elements are the object's properties.an array whose elements are the object's properties. |