【问题标题】:Php explode in Yii2 projectphp在Yii2项目中爆炸
【发布时间】:2016-09-06 11:38:02
【问题描述】:

在我的 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;   
    }

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

我如何实现我的结果有什么帮助??

谢谢

【问题讨论】:

  • 您能否补充一下您实际得到的结果,而不是预期的结果?
  • 数据的格式如何?是分开的结果(一个接一个)还是只有这个结果合并?
  • 我现在已经得到了输出但是它是混乱的..我希望它是相同的顺序..

标签: php split yii2 explode


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    我的工作代码是

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-13
      • 2017-02-18
      • 1970-01-01
      • 2019-07-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多