213 votes

Comment couper les espaces blancs des valeurs d'un tableau en php ?

J'ai un tableau comme suit

$fruit = array('  apple ','banana   ', ' , ',     '            cranberry ');

Je veux un tableau qui contient les valeurs sans les espaces blancs de part et d'autre mais qui peut contenir des valeurs vides. Comment faire cela en php ? le tableau de sortie devrait être comme ceci

$fruit = array('apple','banana', ',', 'cranberry');

588voto

Framework Points 32799

tableau_map y garniture peut faire le travail

$trimmed_array = array_map('trim', $fruit);
print_r($trimmed_array);

6 votes

Excellent. Beaucoup plus simple que d'utiliser array_walk ou une boucle foreach.

10 votes

Ravisoni, vous devriez cartographier cette fonction ; array_map('rtrim', $fruit); . J'espère que cela vous aidera :)

0 votes

Celui-ci est meilleur $fruit= array_map('trim', $fruit) ;

12voto

Xenox Points 41

Solution multidimensionnelle :

array_walk_recursive($array, function(&$arrValue, $arrKey){ $arrValue = trim($arrValue);});

9voto

Shiv Kumar Points 125

array_walk() peut être utilisé avec trim() pour couper le tableau

<?php
function trim_value(&$value) 
{ 
    $value = trim($value); 
}

$fruit = array('apple','banana ', ' cranberry ');
var_dump($fruit);

array_walk($fruit, 'trim_value');
var_dump($fruit);

?>

Voir le 2e exemple à l'adresse http://www.php.net/manual/en/function.trim.php

4voto

Goose Points 2630

J'ai eu des difficultés avec les réponses existantes lors de l'utilisation de tableaux multidimensionnels. Cette solution fonctionne pour moi.

if (is_array($array)) {
    foreach ($array as $key => $val) {
        $array[$key] = trim($val);
    }
}

3voto

Elnoor Points 1018

Si le tableau est multidimensionnel, cela fonctionnera parfaitement :

//trims empty spaces in array elements (recursively trim multidimesional arrays)
function trimData($data){
   if($data == null)
       return null;

   if(is_array($data)){
       return array_map('trimData', $data);
   }else return trim($data);
}

Un exemple de test est le suivant :

$arr=[" aaa ", " b  ", "m    ", ["  .e  ", "    12 3", "9 0    0 0   "]];
print_r(trimData($arr));
//RESULT
//Array ( [0] => aaa [1] => b [2] => m [3] => Array ( [0] => .e [1] => 12 3 [2] => 9 0 0 0 ) )

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