将简单字符串转换为必需格式:PHP

时间:2015-08-08 13:40:45

标签: php arrays

我想基于以下逻辑将简单字符串转换为设置

如果字符串是3,4-8-7,5,那么我需要设置为(3,8,7),(4,8,5)

构建集合背后的逻辑是我们需要将','视为OR条件,将' - '视为AND条件。

我正在尝试使用For循环:

$intermediate = array();

$arry_A = explode('-', '3,4-8-7,5');

for ($i = 0; $i < count($arry_A); $i++) {

    $arry_B = explode(',', $arry_A[$i]);

    for ($j = 0; $j < count($arry_B); $j++) {  

        if (count($intermediate) > 0) {

            for ($k = 0; $k < count($intermediate); $k++) { 

                $intermediate[$k] = $intermediate[$k] . ',' . $arry_B[$j];

            }

        } elseif (count($intermediate) === 0) {

            $intermediate[0] = $arry_B[$j];

        }        

    }
}

echo $intermediate,应该给出最终结果。

1 个答案:

答案 0 :(得分:0)

此代码正常运行,请尝试此操作

<?php
    $intermediate = array();
    $str="";
    $val='3,4-8-7,5';
    $vals=str_replace(',','-',$val);
    $j=1;
    $arry_A = explode('-',$vals );
    $str.='(';
    for ($i = 0; $i < count($arry_A); $i++) {

        if($j==3){
            $str.=$arry_A[$i].',';
            $str.='),';
            $str.='(';
            $j=1;
        }
       else
            $str.=$arry_A[$i].',';
        $j++;
    }
    echo substr($str, 0, -2);
?>