Tôi có một đối tượng với một khóa duy nhất và giá trị của nó. Nhưng tôi không biết chìa khóa để truy cập nó. Cách hiệu quả nhất để lấy khóa mà không liệt kê đối tượng là gì?PHP: lấy một khóa duy nhất từ đối tượng
Trả lời
Nếu bạn chỉ muốn truy cập giá trị, bạn không cần chìa khóa (trên thực tế tên thuộc tính) tại tất cả:
$value = current((array)$object);
Nếu bạn thực sự muốn tên tài sản, hãy thử này:
$key = key((array)$object);
Tôi có một mảng các đối tượng và các đối tượng có một thuộc tính, và tôi không biết tên của các thuộc tính. Tôi đang lặp qua mảng bằng cách sử dụng vòng lặp 'foreach' và đối với mỗi đối tượng, tôi muốn khóa cũng như giá trị. Tôi đã tìm thấy giải pháp này, nhưng nó không phải là không hiệu quả bởi vì bạn đang đúc các đối tượng $ để một mảng mỗi lần? (Xin lỗi nếu nó là quá cơ bản, nhưng tôi là một newb. Một câu trả lời sẽ được đánh giá rất nhiều, vì tôi không chắc chắn cho dù đó là khôn ngoan để sử dụng này hay không) .. – Solace
$array = array("foo" => "bar");
$keys = array_keys($array);
echo $keys[0];
// Output: foo
Điều này thực sự làm việc cho một đối tượng? 'stdClass :: __ set_state (mảng ( 'tag1' => 1, ))' – Pablo
@Michael: Sai lầm của tôi, tôi cho rằng bạn đang cố truy xuất khóa từ mảng. Trong trường hợp đó, bạn sẽ muốn đưa đối tượng vào một mảng có nhiều khả năng nhất. Xem ví dụ của @ thomasrutter: http://stackoverflow.com/questions/3411495/php-get-a-single-key-from-object/3411520#3411520 – gpmcadam
Ban đầu tôi đã bị nhầm lẫn do sử dụng từ "khóa" , đó là một thuật ngữ mảng ... – deceze
Bạn có thể cast đối tượng đến một mảng như thế này:
$myarray = (array)$myobject;
Và sau đó, đối với một mảng mà chỉ có một giá trị duy nhất, điều này sẽ lấy chìa khóa cho giá trị đó.
$value = key($myarray);
Bạn có thể làm cả hai thứ đó trong một dòng nếu muốn. Tất nhiên, bạn cũng có thể làm điều đó bằng cách liệt kê đối tượng, như bạn đã đề cập trong câu hỏi của bạn.
Để có được giá trị chứ không phải là chìa khóa, sau đó:
$value = current($myarray);
- 1. lấy đối tượng duy nhất từ NSFetchRequest
- 2. Làm cách nào để lấy khóa cho một đối tượng nhất định từ NSMutableDictionary?
- 3. Tạo khóa duy nhất
- 4. Cách lấy khóa duy nhất cho hai trường có Hibernate?
- 5. DRY đối tượng duy nhất trong Django
- 6. Lấy một giá trị duy nhất từ dataSet trong asp.net
- 7. Lấy một id duy nhất từ hệ thống giống Unix
- 8. Làm thế nào để vượt qua một đối tượng duy nhất [] để một đối tượng params []
- 9. Có một đối tượng định danh duy nhất trong Python
- 10. asp.net CompositeDataBoundControl cho một đối tượng duy nhất
- 11. Bản đồ Ruby() cho một đối tượng duy nhất
- 12. Lấy mảng khóa của đối tượng
- 13. Javascript lấy tên khóa đối tượng
- 14. AngularJS: Cách lấy khóa của một đối tượng JSON
- 15. Lấy "chìa khóa" của một đối tượng trong Actionscript-3
- 16. Cách lấy thuộc tính đối tượng từ mỗi đối tượng trong một mảng?
- 17. Danh sách các đối tượng có thuộc tính duy nhất
- 18. Thêm đối tượng duy nhất vào Dữ liệu chính
- 19. Sắp xếp mảng các đối tượng bằng cách chìa khóa duy nhất với giá trị ngày
- 20. Bạn có thể lấy khóa ngoại từ một đối tượng trong Doctine2 mà không tải đối tượng đó không?
- 21. Tham gia các chuỗi duy nhất từ một mảng đối tượng
- 22. Tạo một ID duy nhất trong PHP
- 23. Cách phân biệt duy nhất đối tượng của Java
- 24. Chỉ mục duy nhất hoặc khóa duy nhất?
- 25. JavaScript: Nhận các giá trị duy nhất và số lượng của chúng từ một mảng đối tượng?
- 26. Khóa trên một đối tượng
- 27. cách tốt nhất để lấy khóa trong php
- 28. Cách lấy đối tượng Uri từ Bitmap
- 29. Cách tạo khóa duy nhất cho từ điển trong Python
- 30. PHP: lấy tất cả tên phương thức từ một đối tượng có tên "bla_"
Vậy làm cách nào để bạn biết mình có khóa chính xác? – NullUserException
Bạn đang tìm cách thực hiện 'mảng_search'? –
Tôi chỉ có một đối tượng json được chuyển đổi thành php như '{" foo ": 3}' và tôi cần lấy cả hai, tên khóa và giá trị. – Pablo