【问题标题】:Remove element that contain empty space and new line from array in php从php中的数组中删除包含空格和新行的元素
【发布时间】:2019-07-12 21:55:34
【问题描述】:

我在从数组元素中删除空格和换行时遇到问题。

我试过下面的代码

$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 的输出。并且输出格式不正确。

【问题讨论】:

  • 告诉我你传递的是什么字符串?
  • @Siddharthaesunuri 字符串来自其他 webhook,它不正确。这就是我尝试这个的原因。
  • 你的意见是什么?
  • 尝试使用if ($value1 !== ''") 而不是empty (secure.php.net/manual/en/types.comparisons.php)
  • 我不明白为什么 string(10) 是空值???

标签: php arrays trim


【解决方案1】:

匹配“空白和新行”的最简单操作是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" }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-01
    相关资源
    最近更新 更多