web-dev-qa-db-fra.com

Comment obtenir une valeur unique à partir du tableau PHP

Exemple print_r($myarray)

Array
(
    [0] => Array
    (
        [id] => 6578765
        [name] => John Smith
        [first_name] => John
        [last_name] => Smith
        [link] => http://www.example.com
        [gender] => male
        [email] => [email protected]
        [timezone] => 8
        [updated_time] => 2010-12-07T21:02:21+0000
    )
)

Question, comment obtenir le $myarray en valeur unique comme:

echo $myarray['email'];  will show [email protected]
65
wow

Regardez les clés et l'indentation dans votre print_r:

echo $myarray[0]['email'];

echo $myarray[0]['gender'];

...etc

101
Dan Grossman

Utilisez la fonction array_shift

_$myarray = array_shift($myarray);
_

Cela déplacera les éléments de tableau d’un niveau supérieur et vous pourrez accéder à n’importe quel élément de tableau sans utiliser la touche _[0]_

_echo $myarray['email'];  
_

montrera [email protected]

40
Virendra Yadav

Je pense que tu veux ça:

foreach ($myarray as $key => $value) {
    echo "$key = $value\n";
}
21
Mike Axiak

Vous pouvez également utiliser array_column(). Il est disponible à partir de PHP 5.5: php.net/manual/fr/function.array-column.php

Il renvoie les valeurs d'une seule colonne du tableau, identifiées par la clé column_key. Vous pouvez éventuellement fournir une clé index_key pour indexer les valeurs du tableau renvoyé par les valeurs de la colonne index_key du tableau en entrée.

print_r(array_column($myarray, 'email'));
5
Francesco Casula

Le premier élément de $myarray est le tableau de valeurs souhaité. Donc, maintenant,

echo $myarray[0]['email']; // This outputs '[email protected]'

Si vous voulez que ce tableau devienne $myarray, alors il vous suffit de faire

$myarray = $myarray[0];

Maintenant, $myarray['email'] etc. sera sorti comme prévu.

1
v64
echo $myarray[0]->['email'];

Essayez ceci uniquement si vous passez le stdclass object

1
Masad Ashraf