2016-09-06 7 views
0

私のYii2プロジェクトでは、データベースの列からデータが取得されています。 データベース列のデータは次のとおりです。Yii2プロジェクトでPhpが爆発する

12 

13SeeP 

2/3 

Seep2 

は、ここでは第二行

  • [2、3]のための最初の行
  • [13]の配列

    • [12]の数字を爆発します3行目
    • [4]は4行目です。

    私はthis.Iを達成するために爆発を使用することができませんが

    トリム

    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; 
        } 
    
    を使用上記の私が欲しいものをやっているが、今では、アレイ内の私のデータを再配置され、私は彼らがしたいです..同じ順序で表示されます。

    どのように私の結果を得ることができますか?

  • +0

    意図した結果ではなく実際に得られていることについて少しお伝えください。 – mabi

    +0

    そのデータはどのようにフォーマットされていますか?分離された結果(1つずつ)、または結果だけを組み合わせた結果ですか? –

    +0

    私は今すぐ出力を得ましたが、それは混乱しています。私はそれが同じ順序であることを望みます.. –

    答えて

    0

    はこのようにそれを試していただき、ありがとうございます。これにより、数字以外の文字が!に置き換えられ、!文字で爆発し、空の値が削除されます。

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