[php] PHP에서 배열 값의 공백을 자르는 방법

다음과 같은 배열이 있습니다

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

양쪽에 공백이없는 값을 포함하는 배열을 원하지만 PHP 에서이 작업을 수행하는 방법에 빈 값이 포함될 수 있습니다. 출력 배열은 다음과 같아야합니다

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



답변

array_map trim 은 작업을 수행 할 수 있습니다.

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


답변

array_walk()trim()배열을 다듬기 위해 사용할 수 있습니다

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

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

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

?>

http://www.php.net/manual/en/function.trim.php의 두 번째 예를 참조하십시오.


답변

다차원 배열을 사용할 때 기존 답변에 문제가있었습니다. 이 솔루션은 저에게 효과적입니다.

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


답변

배열이 다차원 인 경우 다음과 같이 작동합니다.

//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);
}

하나의 샘플 테스트는 다음과 같습니다.

$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 ) )


답변

1 차원 배열 또는 다차원 배열의 가장 깊은 차원 을 자르고 인쇄 하려면 다음을 사용해야합니다.

foreach($array as $key => $value)
{
    $array[$key] = trim($value);
    print("-");
    print($array[$key]);
    print("-");
    print("<br>");
}

1 차원 배열이나 다차원 배열의 가장 깊은 차원 을 자르고 싶지 는 않으려면 다음을 사용해야합니다.

$array = array_map('trim', $array);


답변

다차원 증거 솔루션 :

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


답변

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