循环分解结果

Looping exploded results

我有一个 $artikel['basisstaffel'] 的字符串,如下所示:

3-10:17;
11-20:14;
21-30:12;
31-4:10;
41-50:7,50;
51-60:6,50;
61-110:6;

我首先要分解 ; 上的每一行,然后是 : 上的每一行。

所以我尝试了这个:

$explodesemicolon = explode(";",$artikel['basisstaffel']);
foreach ($explodesemicolon as $line) {
    $formatandprice = explode(":", $line);
    foreach ($formatandprice[0] as $result) {
        echo $result;
    }
}

但这没有任何回应。我做错了什么?

您实际上不需要内部循环,一旦您在 : 上展开,您就会知道结果数组中将出现 2 次。

$explodesemicolon = explode(";",$artikel['basisstaffel']);
foreach ($explodesemicolon as $line) {
    $formatandprice = explode(":", $line);

    // check explode did what we expect
    if ( count($formatandprice) == 2 ) {
        echo $formatandprice[0];   // format I assume
        echo $formatandprice[1];   // price I assume
    } else {
        // woops something went wrong
    }
}