Ben varsa:php: sayısal dizinden ilişkilendirilebilir dizi anahtarı nasıl alınır?
$array = array('one' =>'value', 'two' => 'value2');
nasıl $array[1]
geri dize one
alabilirim?
Ben varsa:php: sayısal dizinden ilişkilendirilebilir dizi anahtarı nasıl alınır?
$array = array('one' =>'value', 'two' => 'value2');
nasıl $array[1]
geri dize one
alabilirim?
bunu gerekiyorsa yapamaz. Dizininizde bir anahtar yok [1]
. Yapabilirdin:
anahtarlarını içeren yeni bir dizi, Make:
$newArray = array_keys($array);
echo $newArray[0];
Ama değer "bir" $newArray[0]
değil [1]
yer almaktadır.
bir kısayol olacaktır:
echo array_search('value', $array);
reset($array);
echo key($array);
:
echo current(array_keys($array));
dizinin ilk anahtar al
Bu, tam olarak ne yapmak istediğinize bağlı olarak değişir. Gerçek şu ki, [1]
, hangi yolla açtığınıza "tek" karşılık gelmiyor.
Bence yeni dizi yapmak en iyi olduğunu düşünüyorum –
$array = array('one' =>'value', 'two' => 'value2');
$allKeys = array_keys($array);
echo $allKeys[0];
Hangi çıktısı:
one
@KennyTM (Sonuç: http://www.ideone.com/pFh0o) ölü bir bağlantıdır –
Yoksa bir döngü
foreach ($array as $key => $value)
{
echo $key . ':' . $value . "\n";
}
//Result:
//one:value
//two:value2
$array = array('one' =>'value', 'two' => 'value2');
$keys = array_keys($array);
echo $keys[0]; // one
echo $keys[1]; // two
Sen bu şekilde yapacağım:
function asoccArrayValueWithNumKey(&$arr, $key) {
if (!(count($arr) > $key)) return false;
reset($array);
$aux = -1;
$found = false;
while (($auxKey = key($array)) && !$found) {
$aux++;
$found = ($aux == $key);
}
if ($found) return $array[$auxKey];
else return false;
}
$val = asoccArrayValueWithNumKey($array, 0);
$val = asoccArrayValueWithNumKey($array, 1);
etc...
kodu uğraş mı, ama işe yarayacak eminim.
İyi şanslar!
key fonksiyonu bana yardımcı oldu ve sadece, tek bir çizgi ile bunu gerçekleştirmek olabilecek tuşların tümü için bir dizi saklamak zorunda kalmadan özellikle bir anahtarla çalışmayı planlıyorsanız
Lütfen sadece bir bağlantı; Gelecekte çalışmayabilir. Bunun yerine, işlevin ne yaptığını ve nasıl kullanılacağını genişletin. –
çok basit:
echo array_keys($array)[$i];
Ram Dane'in yanıtında genişleyen key işlevi, dizinin geçerli dizininin anahtarını almanın alternatif bir yoludur. Aşağıdaki işlevi oluşturabilirsiniz:
function get_key($array, $index){
$idx=0;
while($idx!=$index && next($array)) $idx++;
if($idx==$index) return key($array);
else return '';
}
Diğer bir deyişle, bir ilişkilendirici dizinin nth dizi anahtarını döndürmekle ilgili. –