$value = array[$key]
gibi bir anahtardan kolayca bir dizi değeri alabilirsiniz, ancak değeri varsa ve anahtarı istiyorum. Bunu elde etmenin en iyi yolu nedir?VALUE dizisinden dizi KEY nasıl alınır?
cevap
İlk eşleşen anahtarı bulmak için array_search()
'u kullanabilirsiniz. kılavuzda itibaren
: alışkanlık size kesin anahtarları vermek böylece Kişisel dizi değerleri çiftleri olabilir
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
$key = array_search('green', $array); // $key = 2;
$key = array_search('red', $array); // $key = 1;
Bunun için array_keys
işlevini kullanabilirsiniz.
Örnek:
$array = array("blue", "red", "green", "blue", "blue");
print_r(array_keys($array, "blue"));
Bu
Hayır gerçekten kolay yolu değeri blue
için diziden anahtarı alacak. Dizi [$ key] == $ değer bulana kadar anahtarlar arasında geçiş yapın.
Bunu sık sık yaparsanız, değerleri tekrar anahtarlara eşleyen bir ters dizi/karma oluşturun. Birden fazla tuşun tek bir değerle eşlenebileceğini unutmayın.
Eğer birçok arama yapman gerekiyorsa, ters bir harita oluşturmaya katılıyorum, ama kesinlikle [bir kolay yol] (http://stackoverflow.com/questions/2960066/best-way-to-get-array-key- from-value/2960083 # 2960083) –
@barrycarter @ Michael_Mrozek, bkz. dizi_flip – mmattax
. Ancak, düşündüğüm yol gayet iyiydi ve
$arr = array('mango', 'orange', 'banana');
$a = array_flip($arr);
$key = $a['orange'];
En hızlı - karşılaştırılamaz, sadece tuşları ile değerleri çevirin. – fkaufusi
- 1. Bir PHP dizisinden veriler nasıl alınır
- 2. Dict dizisinden dizi oluştur
- 3. PostgreSQL'deki Json dizisinden öğeler nasıl alınır
- 4. Dizi işlendiğinde bir söz dizisinden nasıl çıkabilirim?
- 5. Enum Value, Java'daki dizinden nasıl alınır?
- 6. Dictionary.Add (Key, Value) giderek yavaşlatmak için alternatif mi?
- 7. Düzenleyici Şablonunda dizi/dizi dizini nasıl alınır?
- 8. Dozer Haritalama HashMap <Key,Value> ben olan bir kaynak nesne var <Value>
- 9. JSON dizisinden öğe sil
- 10. localStorage.prototype alıyorum</p> <pre><code>localStorage.prototype.setItem2 = function(key,value) { localStorage.setItem(key,value); } </code></pre> <p>...
- 11. php json_decode dizisinden değerler nasıl kullanılır?
- 12. Dizi türü değerlerinin türü nasıl alınır?
- 13. Diğer diziden dizi farkı nasıl alınır?
- 14. Dizi türüyle ilişkili sınıf nasıl alınır?
- 15. Başka bir sınıftan bir dizi nasıl alınır
- 16. Ruby on Rails'deki bir dizi karma dizisinden nasıl bir dizi ayırır ve ayıklayabilirim? örneğin
- 17. 'dizisi' kullanılamaz: Tembel dizisinden bir dizi inşa edin: Array (...)
- 18. Lodash dize dizisinden kaldırma
- 19. php: sayısal dizinden ilişkilendirilebilir dizi anahtarı nasıl alınır?
- 20. Sözlük dizisinden, bir anahtarın değerlerini içeren dizi yapın
- 21. 2 boyutlu bayt dizisinden resim nasıl oluşturulur?
- 22. Öğeleri bir Perl dizisinden rasgele nasıl alabilirim?
- 23. Nesnelerin dizisinden ilk obejct nasıl sıralanır ve alınır birden çok async javascript çağrısına katılarak olsun?
- 24. PHP dizisinden json_encode() `anahtarlarını nasıl yaparım?
- 25. view.getTag (key), android
- 26. Parse.com dizisinden resim çekin
- 27. jquery kullanılarak json dizisinden değerler nasıl ayrılır.
- 28. JSON dizisinden öğe nasıl kaldırılır
- 29. NumPy dizisinden öğeler sıralı olarak nasıl seçilir?
- 30. sözdizimi Bu dizisinden listesinden
Anahtarları okumak gibi mi? Farklı bir şekilde anladım (* değeri * için bir arama). –
@Pekka: OP'nin aslında neye baktığını düşünelim, yine de ellerimiz olsun :) – Sarfraz
array_search ve array_keys her ikisi de benim için çalışır, ancak array_search array_keys tarafından döndürülen dizinin ilk değerini almak için ekstra bir adım atmayı gerektirir. Bu yüzden, array_search'i kullanacağım, ancak her ikinize de iyi cevaplar verdiği için +1'i kullanacağım. –