PHP preg_将存储拆分为多个变量

PHP preg_将存储拆分为多个变量,php,explode,Php,Explode,我是PHP新手,需要一些帮助 我有一个如下的输入字符串:968:-50px,750:-300px,590:-500px 可以将其视为3个项目,每个项目有2个值:a:b、a:b、a:b 我目前正在使用explode(),但我知道它不正确。我认为preg\u split()可能是正确的函数 使用a:b示例,下面是一些代码: $string = '968:-50px, 750:-300px, 590:-500px' $array = explode( ',', $string

我是PHP新手,需要一些帮助

我有一个如下的输入字符串:
968:-50px,750:-300px,590:-500px

可以将其视为3个项目,每个项目有2个值:
a:b、a:b、a:b

我目前正在使用
explode()
,但我知道它不正确。我认为
preg\u split()
可能是正确的函数

使用
a:b
示例,下面是一些代码:

      $string = '968:-50px, 750:-300px, 590:-500px'
      $array = explode( ',', $string );

      foreach ( $array as $a ) {
        echo '
        @media only screen and (max-width: '.$a.'px) {
          .div {
            background-position: '.$b.';
          }
        }'; $array[] = $a;
      }
如何提取
$b
的值并将其传递给循环


谢谢你的帮助

您必须在循环中再次分解每个结果

$string = '968:-50px, 750:-300px, 590:-500px'
$array = explode( ',', $string );

foreach ( $array as $a ) {
    $ab = explode(':', $a);
    echo '@media only screen and (max-width: '.$ab[0].'px) {
        .div {
            background-position: '.$ab[1].';
            }
        }'; 
    $array[] = $a;
}

为什么
explode
不适合你?为什么你觉得这是不正确的?在上面的代码中,我只得到了3个值,即:
968:-50px
750:-300px
590:-500px
我需要将其中的每一个值拆分为2个值,并传递给循环。也就是说,foreach
$a=968
$b=-50px
$a=750
$b=-300px
$a=590
$b=-500px