Karşılık gelen bir dizi değer anahtarı bulun

6 Cevap php

Ben böyle bir dizi var. Ne i istediğiniz belirli değerleri için endeksin değeri elde etmektir. yani, ben değeri "UD" vb indeksini bilmek istiyorum

Array
(
    [0] => LN
    [1] => TYP
    [2] => UD
    [3] => LAG
    [4] => LO
)

ben nasıl yapabilirim?

6 Cevap

array_search function bu kullanım içindir

parçası, mikroişlemciyi:

$index = array_search('UD', $yourarray);
if($index === false){ die('didn\'t found this value!'); }
var_dump($index);

En iyi bahis:

array_keys () girdi dizisindeki anahtarları, sayısal ve dize döndürür.

İsteğe bağlı search_value belirtilirse, daha sonra bu değeri sadece anahtarlar döndürülür. Aksi takdirde, girdi tüm anahtarların döndürülür.

$array = array(0 => 'LN', 1 => 'TYP', 2 => 'UD', 3 => 'LAG', 4 => 'LO');
print_r(array_keys($array, "UD"));

Array
(
    [0] => 2
)

Array_search kullanmamak için mümkün düşünceler ()

İğne bir kereden fazla haystack bulunursa array_search (), birinci eşleştirme anahtarı döndürülür. Eşleşen tüm değerler için anahtarlarını geri dönmek için, bunun yerine isteğe bağlı search_value parametresi () array_keys kullanın.

Ben önermek array_flip:

$value = "UD";
$new = array_flip($arr);
echo "result: " . $new[$value];

Sadece bir not: Bu array_ bazı * işlevleri büyük ölçüde anonim fonksiyonların eklenmesi ile PHP 5.3 daha yararlıdır. Sen şimdi gibi şeyler yapabilirsiniz:

$values = array_filter($userArray, function($user)
{
   // If this returns true, add the current $user object to the resulting array
   return strstr($user->name(),"ac");
});

Kendi adına ("Jack", "Yakup") "ac" içeren kullanıcı nesneleri bizim hayali dizideki tüm elemanları dönecektir Hangi.

Bu işlevi oluşturmak ile, ya da sadece önceden bir işlevi tanımlayarak geçmişte mümkün olmuştur, ancak bu sözdizimi, çok daha erişilebilir hale.

http://ca2.php.net/manual/en/functions.anonymous.php

$array = Array(0 => LN, 1 => TYP, 2 => UD, 3 => LAG, 4 => LO);
$arrtemp = array_keys($array,'UD');
echo 'Result : '.$arrtemp[0];

Onu bulmak için array_keys kullanın.