Php在Yii2项目中爆炸

时间:2016-09-06 11:38:02

标签: php split yii2 explode

在我的Yii2项目中,我有来自数据库列的数据。 在数据库列中,数据如下。

12

13SeeP

2/3 

Seep2

这里我要爆炸数组中的数字

  • [12]第一行
  • [13]第二行
  • 第三行
  • [2,3]
  • [2]为第四行。

我无法使用爆炸来实现此目的。我使用了修剪

  public function classLabelImdg() {
        $imdgLabels = $this->transportImdg->imdg_sub_risk;
        $imdgLabelsTrim =  trim(preg_replace("/[^0-9,.\/]/","",$imdgLabels)); 
        $cleanImdgLabels = explode('/',$imdgLabelsTrim);
        $classLabelNo = TransportClass::find()->where(['class_no'=> $cleanImdgLabels])->all();
        return $classLabelNo;   
    }

以上是我想要的,但现在它正在重新排列数组中的数据..我希望它们以相同的顺序显示。

如何在任何帮助下实现我的结果?

谢谢

2 个答案:

答案 0 :(得分:0)

试试这样。这会使用!替换非数字字符,然后在!字符上展开并删除所有空值。

$labels = [
    '12',
    '13SeeP',
    '2/3',
    'Seep2',
];
$results = [];
foreach ($labels as $v) {
    $results[] = array_filter(explode('!', preg_replace("/\D+/", '!', $v)));
}
print_r($results);

答案 1 :(得分:0)

我的工作代码是

$aggregateResult[$index]['lab_number'] = explode('-',  $aggregateResult[$index] 
 ['lab_number'])[1];