Bạn có thể dễ dàng lấy giá trị mảng từ khóa như sau: $value = array[$key]
nhưng nếu tôi có giá trị và tôi muốn khóa. Cách tốt nhất để có được nó là gì?Cách lấy mảng KEY từ VALUE?
Trả lời
Bạn có thể sử dụng array_search()
để tìm khóa khớp đầu tiên.
Từ hướng dẫn:
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
$key = array_search('green', $array); // $key = 2;
$key = array_search('red', $array); // $key = 1;
Bạn có thể sử dụng chức năng array_keys
cho điều đó.
Ví dụ:
$array = array("blue", "red", "green", "blue", "blue");
print_r(array_keys($array, "blue"));
này sẽ nhận được chìa khóa từ mảng cho giá trị blue
Không thực sự dễ dàng chiều. Lặp lại các phím cho đến khi bạn tìm thấy mảng [$ key] == $ value
Nếu bạn thực hiện việc này thường xuyên, hãy tạo một mảng đảo ngược/băm để ánh xạ các giá trị về khóa. Hãy nhớ rằng nhiều khóa có thể ánh xạ tới một giá trị duy nhất.
Tôi đồng ý với việc tạo bản đồ ngược lại nếu bạn cần thực hiện nhiều lần tra cứu, nhưng chắc chắn là [một cách dễ dàng] (http://stackoverflow.com/questions/2960066/best-way-to-get-array-key- từ-value/2960083 # 2960083) –
@barrycarter @ Michael_Mrozek, xem array_flip – mmattax
giá trị mảng của bạn có thể bản sao như vậy nó sẽ không cung cấp cho bạn các phím chính xác. Tuy nhiên cách tôi nghĩ là tốt giống như lặp lại và đọc các phím
$arr = array('mango', 'orange', 'banana');
$a = array_flip($arr);
$key = $a['orange'];
Nhanh nhất - không so sánh, chỉ cần lật các giá trị bằng các phím. – fkaufusi
- 1. C# JSON serialization của từ điển thành {key: value, ...} thay vì {key: key, value: value, ...}
- 2. LINQ chuyển đổi từ điển <key,value> sang từ điển <value,key>
- 3. Lấy Char từ Key
- 4. POST JSON từ điển mà không cần Key/Value chữ
- 5. Cách lấy giá trị được lưu trữ trong ArrayList <HashMap <key,value>>?
- 6. Key-Value Quan sát một NSMutableSet
- 7. Cách tốt nhất để lưu trữ mảng key => value trong JavaScript?
- 8. Sự khác biệt giữa "như $ key => $ value" và "as $ value" trong PHP foreach
- 9. [NSMutableDictionary setValue: value forKey: key] có giữ phím NSString không?
- 10. Not Key Value Coding Compliant (Monotouch và iOS 6)
- 11. của Ruby lấy key đối tượng như mảng
- 12. yếu tố Lọc dựa trên .data() key/value
- 13. JPA Bản đồ w/Entity Key và Entity Value
- 14. MapView, MKAnnotation & Key-Value-Quan sát - Thông báo lỗi
- 15. Có thể thêm <key, value> cặp vào cuối từ điển trong python
- 16. Sắp xếp lại một mảng: các mục nhập lẻ dưới dạng KEY, ngay cả các mục là VALUE
- 17. Lấy Google Maps API key
- 18. Sự khác nhau giữa std :: multimap <key, value> và std :: map <key, std :: set <value>>
- 19. Lấy tên màu thông qua Hex Value?
- 20. Cách lấy mảng giá trị từ một mảng kết hợp?
- 21. PHP Sắp xếp mảng By subarray Value
- 22. ActionScript: Cách gán mảng theo VALUE thay vì REFERENCE?
- 23. JQuery lấy dữ liệu từ mảng JSON
- 24. Tìm một giá trị trong danh sách {key, value} trong Erlang
- 25. Finding chuỗi-key trong Javascript mảng
- 26. Perl Làm thế nào để lấy một mảng từ một mảng băm?
- 27. Cách lấy cột từ một mảng java 2D?
- 28. JavaScript: Cách lấy giá trị từ mảng nhiều chiều?
- 29. Cách lấy kích thước (slice) từ mảng đa chiều
- 30. TWIG cách lấy vật phẩm đầu tiên từ mảng
Đây có phải là điều mà OP đang tìm kiếm không? Tôi đã hiểu nó khác nhau (như một tìm kiếm cho một * giá trị *). –
@Pekka: Hãy xem những gì OP đang tìm kiếm thực sự, mặc dù vậy :) – Sarfraz
array_search và array_keys đều làm việc cho tôi, tuy nhiên array_search thực hiện bước bổ sung là phải lấy giá trị đầu tiên của mảng được array_keys trả về. Vì vậy, tôi sẽ sử dụng array_search, nhưng +1 cho mỗi bạn vì chúng đều là câu trả lời hay. –