首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将简单字符串转换为所需格式: PHP

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

Stack Overflow用户
提问于 2015-08-08 21:40:45
回答 1查看 42关注 0票数 2

我想把简单的字符串转换为基于以下逻辑的集合

如果string为3,4-8-7,5,那么我需要将集合设置为(3,8,7),(4,8,5)

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

我正在尽力使用For循环:

代码语言:javascript
复制
$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,应该给出最终的结果。

EN

回答 1

Stack Overflow用户

发布于 2015-08-08 21:59:26

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

代码语言:javascript
复制
<?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);
?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31893708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档