Cách lặp lại giá trị đối tượng trong php?

Tôi cần một số trợ giúp về mã của mình vì tôi gặp khó khăn trong việc tìm nạp giá trị từ stdclass. Tôi đang sử dụng dữ liệu json để chuyển đổi nó sang PHP, vì vậy tôi muốn tìm nạp dữ liệu "xuất hiện" từ đối tượng stdclass

Khi tôi thử cái này

echo $data->appears;

 

tôi nhận được cái này

Lưu ý. Đang cố lấy thuộc tính của non-object trong /home/username/public_html/foldername/script. php trên dòng 22

 

Tôi cũng đã thử cái này

echo $data[0]->appears->value;

 

Và điều này

echo $data->appears[0]->value;

 

Tôi vẫn gặp lỗi tương tự nên tôi không biết phải làm gì để giải quyết

 

Mã đầy đủ

 

Đối tượng STDClass

Array [ [data] => Array [ [185.220.101.46] => Array [ [domains_count] => 0 [domains_list] => [updated] => 2019-12-02 22:04:25 [spam_rate] => 1 [frequency] => 6827 [frequency_time_24h] => 106 [frequency_time_1h] => 2 [network_type] => hosting [in_antispam] => 1 [in_security] => 0 [appears] => 1 [country] => DE [submitted] => 2018-01-11 20:34:37 [frequency_time_10m] => 2 [sha256] => e39d4a9be2f210d1a75ba2b5ece08a4b35e99002b03aeb6ceaad1d98de87c248 ] ] ]

 

Var_dump

array[1] { ["data"]=> array[1] { ["185.220.101.46"]=> array[15] { ["domains_count"]=> int[0] ["domains_list"]=> NULL ["updated"]=> string[19] "2019-12-02 22:04:25" ["spam_rate"]=> int[1] ["frequency"]=> int[6827] ["frequency_time_24h"]=> int[106] ["frequency_time_1h"]=> int[2] ["network_type"]=> string[7] "hosting" ["in_antispam"]=> int[1] ["in_security"]=> int[0] ["appears"]=> int[1] ["country"]=> string[2] "DE" ["submitted"]=> string[19] "2018-01-11 20:34:37" ["frequency_time_10m"]=> int[2] ["sha256"]=> string[64] "e39d4a9be2f210d1a75ba2b5ece08a4b35e99002b03aeb6ceaad1d98de87c248" } } }

 

Bạn có thể vui lòng chỉ cho tôi một ví dụ về cách tôi có thể tìm nạp `xuất hiện` từ đối tượng stdclass không?

bât cư lơi khuyên nao cung se được đanh gia cao

Đã chỉnh sửa ngày 2 tháng 12 năm 2019 bởi mark107

  • Trích dẫn

Liên kết để bình luậnChia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

Barand

Đăng ngày 2 tháng 12 năm 2019

Barand

  • người điều hành
    • 23. 4k
    • 352
  • Địa điểm. Cheshire, Vương quốc Anh
  • Lứa tuổi. 73
  • quyên góp cho tôi

    • Chia sẻ

Đăng ngày 2 tháng 12 năm 2019

$data = json_decode[$json, true];

Điều đó chuyển đổi nó thành một mảng. Để chuyển đổi nó thành một đối tượng, hãy xóa "true"

$data = json_decode[$json];

 

  • Trích dẫn

Liên kết để bình luậnChia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

requinix

Đăng ngày 2 tháng 12 năm 2019

requinix

  • quản trị viên
    • 14. 4k
    • 297
  • Địa điểm. Mỹ/Los_Angeles

    • Chia sẻ

Đăng ngày 2 tháng 12 năm 2019

Bạn đang cách xa

Đối với một, nó không phải là một đối tượng. Trên thực tế, bạn đã nói rõ ràng với PHP rằng bạn không muốn một đối tượng. Vì vậy, nó đã cho bạn một mảng. Nếu bạn muốn một đối tượng thì hãy làm những gì Barand nói

Thứ hai, bạn dường như không biết dữ liệu được cấu trúc như thế nào. Có thể thứ gì đó sẽ nhấp vào nếu bạn nhìn vào đầu ra print_r thụt vào?

________số 8

 

  • Trích dẫn

Liên kết để bình luậnChia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

đánh dấu107

Đăng ngày 2 tháng 12 năm 2019

đánh dấu107

  • Các thành viên
    • 94

  • Tác giả

    • Chia sẻ

Đăng ngày 2 tháng 12 năm 2019

T

32 phút trước, Barand nói

$data = json_decode[$json, true];

Điều đó chuyển đổi nó thành một mảng. Để chuyển đổi nó thành một đối tượng, hãy xóa "true"

$data = json_decode[$json];

 

 

Cảm ơn lời khuyên của bạn, tôi đã xóa nó nhưng tôi không thể lấy giá trị của `xuất hiện` từ mảng vì tôi cũng gặp lỗi tương tự

Bất kỳ ý tưởng?

  • Trích dẫn

Liên kết để bình luậnChia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

Barand

Đăng ngày 2 tháng 12 năm 2019

Barand

  • người điều hành
    • 23. 4k
    • 352
  • Địa điểm. Cheshire, Vương quốc Anh
  • Lứa tuổi. 73
  • quyên góp cho tôi

    • Chia sẻ

Đăng ngày 2 tháng 12 năm 2019

Đây là một đầu mối

  • Trích dẫn

Liên kết để bình luậnChia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

đánh dấu107

Đăng ngày 2 tháng 12 năm 2019

đánh dấu107

  • Các thành viên
    • 94

  • Tác giả

    • Chia sẻ

Đăng ngày 2 tháng 12 năm 2019

16 phút trước, Barand nói

Đây là một đầu mối

 

tôi đã thử cái này

tiếng vang $data->data['185. 220. 101. 46']-> xuất hiện;

nó không hoạt động. Bất kỳ ý tưởng?

Sẽ dễ dàng hơn nếu bạn có thể đăng mã của những gì tôi nên sử dụng

  • Trích dẫn

Liên kết để bình luậnChia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

requinix

Đăng ngày 2 tháng 12 năm 2019

requinix

  • quản trị viên
    • 14. 4k
    • 297
  • Địa điểm. Mỹ/Los_Angeles

    • Chia sẻ

Đăng ngày 2 tháng 12 năm 2019

Bạn đang trộn truy cập đối tượng và mảng với nhau. Nó sẽ không bao giờ hoạt động. Nó sẽ luôn là chỉ đối tượng truy cập hoặc chỉ đối tượng truy cập mảng

Vì “185. 220. 101. 46" không [thông thường] là tên thuộc tính hợp lệ cho một đối tượng, tôi khuyên bạn nên sử dụng dữ liệu mảng từ json_decode. Sau đó, chỉ sử dụng ký hiệu mảng khi cố gắng lấy giá trị

  • Trích dẫn

Liên kết để bình luậnChia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

đánh dấu107

Đăng ngày 2 tháng 12 năm 2019

đánh dấu107

  • Các thành viên
    • 94

  • Tác giả

    • Chia sẻ

Đăng ngày 2 tháng 12 năm 2019

1 phút trước, requinix nói

Bạn đang trộn truy cập đối tượng và mảng với nhau. Nó sẽ không bao giờ hoạt động. Nó sẽ luôn là chỉ đối tượng truy cập hoặc chỉ đối tượng truy cập mảng

Vì “185. 220. 101. 46" không [thông thường] là tên thuộc tính hợp lệ cho một đối tượng, tôi khuyên bạn nên sử dụng dữ liệu mảng từ json_decode. Sau đó, chỉ sử dụng ký hiệu mảng khi cố gắng lấy giá trị

Tôi không thể xóa "185. 220. 101. 46" bởi vì nó đi kèm với nó khi tôi truy cập vào trang web mà tôi không được phép đăng nó

Vậy tôi phải làm gì sau đó?

Tạo một vòng lặp foreach để tìm nạp các giá trị và lưu trữ trong mảng?

  • Trích dẫn

Liên kết để bình luậnChia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

requinix

Đăng ngày 2 tháng 12 năm 2019

requinix

  • quản trị viên
    • 14. 4k
    • 297
  • Địa điểm. Mỹ/Los_Angeles

    • Chia sẻ

Đăng ngày 2 tháng 12 năm 2019

Tôi hiện đang làm việc với một số nhà phát triển nước ngoài ngu ngốc nên tôi sẽ đi thẳng vào vấn đề ở đây

Làm cách nào để lặp lại một giá trị trong một đối tượng trong PHP?

Nếu muốn xuất phần tử thì phải chỉ định đúng chỉ số của các mảng đó. echo $insights->data[N]->values[M]->value; Trong đó N và M là chỉ mục của các mảng bên trong đối tượng.

Làm cách nào để lấy giá trị từ mảng đối tượng trong PHP?

Phương pháp 1. Sử dụng phương thức json_decode và json_encode . Hàm json_decode chấp nhận chuỗi được mã hóa JSON và chuyển đổi nó thành một biến PHP, mặt khác, json_encode trả về một chuỗi được mã hóa JSON cho một giá trị nhất định. cú pháp. $myArray = json_decode[json_encode[$object], true];

Làm cách nào để lặp lại mảng trong PHP?

Để in hoặc lặp lại một mảng trong PHP, bạn có thể sử dụng hàm print_r[biến, trả về] hoặc var_dump[biến1, biến2,. ] chức năng . Hàm print_r[] in thông tin về biến đã truyền ở dạng con người có thể đọc được.

Làm cách nào để truy cập thuộc tính đối tượng trong PHP?

Trong các phương thức lớp các thuộc tính không tĩnh có thể được truy cập bằng cách sử dụng -> [Toán tử đối tượng]. $this->property [trong đó property là tên của tài sản] . Thuộc tính tĩnh được truy cập bằng cách sử dụng. [Dấu hai chấm]. bản thân. tài sản $.

Chủ Đề