Mam tablicę w następujący sposób:
function example() {
/* some stuff here that pushes items with
dynamically created key strings into an array */
return array( // now lets pretend it returns the created array
'firstStringName' => $whatEver,
'secondStringName' => $somethingElse
);
}
$arr = example();
// now I know that $arr contains $arr['firstStringName'];
Muszę znaleźć indeks, $arr['firstStringName']
aby móc przechodzić przez pętlę array_keys($arr)
i zwracać ciąg klucza 'firstStringName'
według jego indeksu. Jak mogę to zrobić?
Odpowiedzi:
Jeśli masz wartość i chcesz znaleźć klucz, użyj w
array_search()
ten sposób:$key
będzie teraz zawierać klucz dla wartości'a'
(czyli'first'
).źródło
array_filter()
może zostać użyty, jeśli chcesz zwrócić wszystkie pasujące wyniki zamiast tylko pierwszego pasującego, ponieważ zachowuje klucze.zwróci wartość klucza dla bieżącego elementu tablicy
http://uk.php.net/manual/en/function.key.php
źródło
Jeśli dobrze rozumiem, czy nie możesz po prostu użyć:
Zobacz podręcznik PHP
źródło
Jeśli nazwa jest dynamiczna, musisz mieć coś takiego
co oznaczałoby, że $ klucz zawiera wartość klucza.
Możesz użyć,
array_keys()
aby uzyskać WSZYSTKIE klucze tablicy, npdałby ci
źródło
Tak, rzeczywiście, php jest jednym z niewielu języków, które zapewniają takie wsparcie.
źródło
jeśli chcesz zwrócić elementy tablicy o tej samej wartości, użyj
array_keys()
funkcji functionźródło
Oto inna opcja
źródło
użyj,
array_keys()
aby uzyskać tablicę wszystkich unikalnych kluczy.Zauważ, że tablica z nazwanymi kluczami, takimi jak twój,
$arr
może być również dostępna za pomocą indeksów numerycznych, takich jak$arr[0]
.http://php.net/manual/en/function.array-keys.php
źródło
możesz użyć kluczowej funkcji php, aby uzyskać nazwę klucza:
jak tutaj: PHP: klucz - Instrukcja
źródło