PHP bulmak eleman anahtar

6 Cevap php

i bu dizi var

Array
(
  [0] => a
  [1] => b
  [2] => c
  [3] => d
)

nasıl ben bir elemanın anahtarını alabilirsiniz? (örneğin a = 0, c = 2)

6 Cevap

<?php
$trans = array("a" => 1, "b" => 1, "c" => 2);
$trans = array_flip($trans);
print_r($trans);
?>

http://www.php.net/manual/en/function.array-flip.php

Using array_search http://php.net/manual/en/function.array-search.php

<?php
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');

$key = array_search('green', $array); // $key = 2;
$key = array_search('red', $array);   // $key = 1;
?>

Kullan array_search()

Belirli bir değer için dizi arar ve karşılık gelen tuşa başarılı ise döner.

Example #1 array_search() example

<?php
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');

$key = array_search('green', $array); // $key = 2;
$key = array_search('red', $array);   // $key = 1;
?>

Eğer aramak istiyorsanız, array_search (bkz. http://www.php.net/manual/en/function.array-search.php)

Bunun üzerinde yineleme iseniz, çeşitli sözdizimi kullanabilirsiniz:

foreach ($a as $key => $value) { ... }
foreach (array_keys($a) as $key) { $value = $a[$key]; ... }

Eğer sadece tuşlarını kullanın array_keys.

Eğer örnek göstermek gibi kullanın, dizi çevirmek istiyorsanız array_flip

Ben şahsen SilentGhost çözümü @ ama birden fazla arama yapıyor iseniz size aşağıdaki isterim bu noktada, bir hız cezası yaşayacaktır olacak gibi:

// assume you know you want the value for key 'c'
$array = ('a','b','c','d');
$keys = array_flip($array);
return $keys['c'];