94 votes

Ajouter un préfixe à chaque élément d'un tableau PHP

J'ai un tableau PHP de nombres, que je voudrais préfixer avec un moins (-). Je pense qu'en utilisant exploser et imploser, ce serait possible, mais ma connaissance de php n'est pas possible de le faire réellement. Toute aide serait appréciée.

Essentiellement, je voudrais partir de ceci:

 $array = [1, 2, 3, 4, 5];

pour ça:

 $array = [-1, -2, -3, -4, -5];

Des idées?

173voto

Dávid Horváth Points 1077

Une manière élégante de préfixer les valeurs des tableaux (PHP 5.3+) :

 $prefixed_array = preg_filter('/^/', 'prefix_', $array);

De plus, c'est plus de trois fois plus rapide qu'un foreach .

113voto

Rohit Chopra Points 997

Simple:

 foreach ($array as &$value) {
   $value *= (-1);
}
unset($value);

Sauf si le tableau est une chaîne :

 foreach ($array as &$value) {
    $value = '-' . $value;
}
unset($value);

28voto

JRL Points 36674

Quelque chose comme ça ferait:

 array_map(function($val) { return -$val;} , $array)

12voto

Dan Chadwick Points 11

Vous pouvez remplacer "rien" par une chaîne. Donc, pour préfixer un tableau de chaînes (pas de nombres comme indiqué à l'origine):

 $prefixed_array = substr_replace($array, 'your prefix here', 0, 0);

Cela signifie que pour chaque élément de $array, prenez la chaîne (de longueur zéro) à l'offset 0, longueur 0 et remplacez-la par le préfixe.

Référence : substr_replace

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X