Удалить элемент, содержащий пустое место и новую строку из массива в php - PullRequest
0 голосов
/ 19 февраля 2019

У меня проблема с удалением пробела и новой строки из элемента массива.

Я пробовал ниже код

$explode_string = explode("\n", $GetGroupListOutput);    
$new_array = array();
foreach ($explode_string as $value) {                
    $value1 = preg_replace('/\s+/', ' ', trim($value));        
    if(!empty($value1))
    {            
        $new_array[] = $value1;
    }
}
var_dump($new_array);

Вывод выглядит так

array(107147) {
  [0]=>
  string(10) ""
  [1]=>
  string(8) "
"
  [2]=>
  string(40) "Import Data"
  [3]=>
  string(9) "
"
  [4]=>
  string(6) ""
  [5]=>
  string(12) ""
  [6]=>
  string(13) ""
  [7]=>
  string(36) "All Masters"

Мой вывод из API, как показано ниже.

  Import Data





    All Masters

     KRISHNA INTERIORS GSTR 3B






       -1

Над строкой показывают вывод моего API.И вывод не в правильном формате.

1 Ответ

0 голосов
/ 24 февраля 2019

Самая простая операция для сопоставления «пробела и новой строки» будет trim(), что делает ее легкой операцией фильтрации:

$input = [
    "",
    "
",
    "Import Data",
    "
",
    " ",
    "  ",
    "   ",
    "All Masters",
];

$output = array_filter( $input, 'trim' );

var_dump( $output );
// array(2) { [2]=> string(11) "Import Data" [7]=> string(11) "All Masters" }
...