【问题标题】:PHP extract number only from result explodePHP仅从结果中提取数字爆炸
【发布时间】:2019-04-24 16:37:20
【问题描述】:

我这里爆了是var_dump的结果:

我想得到explode的结果:

7 [remove other string]
0 [if contain "-"]
0 [if contain "-"]
0 [if contain "-"]

这里,我只是用comma作为分隔符:

var_dump (explode(",", $rowData[0][13]));
die();

有没有人有办法解决这个问题?

谢谢。

【问题讨论】:

  • 嘿,不加图片,把分解的结果贴在这里。
  • @iagowp 这里是:array(4) { [0]=> string(3) "JZ8" [1]=> string(3) " B-" [2]=> string (3) "S-" [3]=> 字符串(3) "M-" }
  • 另外,您应该发布您尝试解决此问题的方法。

标签: php regex explode


【解决方案1】:
<?php
$data_result = explode(",", $rowData[0][13])

for($data_count=0;$data_count<count($data_result);$data_count++)
{
    if(substr($data_result[$data_count], -1) == '-')    
    {
        echo $data_result[$data_count]
    }
}
?>

【讨论】:

    【解决方案2】:

    使用array_map() 函数并在其中使用filter_var() 清理数值。

    试试

    $rowData = ['JJ7', 'B-', 'S-', 'M-'];
    
    $result = array_map(function($v) { 
        return abs((int) filter_var($v, FILTER_SANITIZE_NUMBER_INT)); 
    }, $rowData );
    
    var_dump( $result );
    
    //output
    // array(4) { [0]=> int(7) [1]=> int(0) [2]=> int(0) [3]=> int(0) } 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-18
      • 2014-01-18
      • 2019-01-16
      • 1970-01-01
      • 2019-07-26
      • 1970-01-01
      相关资源
      最近更新 更多