2009-07-29 6 views
1

Je cherche à voir s'il y a une syntaxe PHP que je suis absent qui me permettra de saisir le contenu du tableau que je viens manoeuvré en utilisant une fonction ..Récupère un élément de tableau après y avoir exécuté une fonction?

Bon exemple:

$firstElement = sort($myArray)[0]; 

Où normalement je devrais faire ceci:

$myArray = sort($myArray); 
$firstElement = $myArray[0]; 

de toute façon propre de le faire ??

Merci à tous! Matt

Répondre

4

Il n'y a pas de syntaxe pour accéder à une valeur de tableau si elle n'est pas dans une variable. Il y avait un proposal to add such a syntax mais il a été refusé. PS: sort renvoie uniquement des valeurs booléennes. Donc, votre exemple ne fonctionnerait pas de toute façon.

+0

Ah ok. Eh bien, j'avais un code différent - mais je pensais qu'il serait plus logique de montrer le genre: - /. Ha devine pas. – Matt

2

Une syntaxe comme celui-ci

$ firstElement = sort (monTableau $) [0];

est possible definitly nont - vous avez remarqué que vous ^^

Si vous êtes prêt à obtenir le premier élément d'un tableau, vous pouvez utiliser la fonction reset, comme ceci:

$list = array('z', 'c', 'd'); 
$element = reset($list); 
var_dump($element); 

Il affiche:

string 'z' (length=1) 

Le effet secondaire est que (citation):

reset() rembobine pointeur interne de la matrice sur le premier élément et renvoie la valeur du premier élément réseau .

BTW, ne revient pas comme une sorte tableau, vous cannont faire:

$list = array('z', 'c', 'd'); 
$element = reset(sort($list)); 
var_dump($element); 

Cela donnerait un avertissement:

Attention: reset() [function.reset ]: La variable passée n'est pas un tableau ou objet

+0

Ah yah. Je voulais un exemple facile à comprendre mais on dirait que j'ai raté ça: - /. Yah c'est un peu plus confus et verbeux que ma méthode alternative. Je me demandais juste si quelque chose m'avait échappé le long de mon périple en PHP, qui aurait accéléré le processus! Merci quand même! – Matt

+0

Eh bien, la solution que vous avez proposée dans votre question est celle que j'utilise toujours ^^ Mais c'était amusant de penser à une autre de toute façon ^^ –

Questions connexes