Se ho:php: come ottenere la chiave dell'array associativo dall'indice numerico?
$array = array('one' =>'value', 'two' => 'value2');
Come faccio ad avere la stringa one
ritorno da $array[1]
?
Se ho:php: come ottenere la chiave dell'array associativo dall'indice numerico?
$array = array('one' =>'value', 'two' => 'value2');
Come faccio ad avere la stringa one
ritorno da $array[1]
?
You Do not. Il tuo array non ha una chiave [1]
. Si potrebbe:
Fare un nuovo array, che contiene le chiavi:
$newArray = array_keys($array);
echo $newArray[0];
Ma il "solo" il valore è in $newArray[0]
, non [1]
.
Un collegamento potrebbe essere:
echo current(array_keys($array));
garantita la prima chiave dell'array:
reset($array);
echo key($array);
Ottenere la chiave corrispondente al valore "valore":
echo array_search('value', $array);
Tutto dipende da cosa esattamente si vuole fare. Il fatto è che, [1]
non corrisponde a "uno" in che modo lo si accende.
Fare un nuovo array penso sia il migliore –
$array = array('one' =>'value', 'two' => 'value2');
$allKeys = array_keys($array);
echo $allKeys[0];
che sarà in uscita:
one
@KennyTM (Risultato: http://www.ideone.com/pFh0o) è un collegamento morto –
O se ne avete bisogno in un ciclo
foreach ($array as $key => $value)
{
echo $key . ':' . $value . "\n";
}
//Result:
//one:value
//two:value2
Fa eco a tutti i tasti. Ma l'argomento topicter è necessario ottenere la chiave per indice numerico. Non è lo stesso. – pltvs
Ne sono perfettamente consapevole.Ma dato che topicstarter è nuovo per php, questo potrebbe essere quello che stava cercando di ottenere e semplicemente non sapeva della sintassi di foreach;) – Decko
$array = array('one' =>'value', 'two' => 'value2');
$keys = array_keys($array);
echo $keys[0]; // one
echo $keys[1]; // two
si potrebbe fare in questo modo:
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...
Non hanno tryed il codice, ma sono abbastanza sicuro che funzionerà.
Buona fortuna!
la funzione key mi ha aiutato ed è molto semplice
Si prega di non pubblicare solo un topic Link; potrebbe non funzionare in futuro. Invece, espandi ciò che fa la funzione e come usarla. –
Se solo si prevede di lavorare con una chiave, in particolare, si può raggiungere questo obiettivo con una sola linea, senza dover memorizzare una matrice per tutte le chiavi:
echo array_keys($array)[$i];
Espansione sulla risposta di Ram Dane, la funzione key è un modo alternativo per ottenere la chiave dell'indice corrente dell'array. È possibile creare la seguente funzione,
function get_key($array, $index){
$idx=0;
while($idx!=$index && next($array)) $idx++;
if($idx==$index) return key($array);
else return '';
}
In altre parole, si tratta di restituire l'ennesima chiave di array di un array associativo. –