将字符串放入键值数组中

时间:2017-03-27 09:27:46

标签: php arrays regex string

嗨,我收到了以下字符串:

info:infotext,
dimensions:dimensionstext

我需要将这些值放入PHP中的数组中。将这些放入数组的正则表达式函数是什么?我研究了正则表达式代码,但它让我感到困惑。

我想将信息作为键,将信息文本作为值放入数组中,如下所示:

Array {

[info] => infotext
[dimensions] => dimensionstext

}

2 个答案:

答案 0 :(得分:1)

您可以使用array_chunk和array_combine

    <?php
    $input  = 'info:infotext,
    dimensions:dimensionstext';

    $chunks = array_chunk(preg_split('/(:|,)/', $input), 2);
    $result = array_combine(array_column($chunks, 0), array_column($chunks, 1));

    print_r($result);   

http://ideone.com/dRtref

答案 1 :(得分:1)

Demo here

<?php
$string ='info:infotext,
dimensions:dimensionstext';
$array = array_map(function($v){return explode(':', trim($v));}, explode(',', $string));   
foreach($array as $v)
{
  $o[$v[0]] = $v[1];
}
print_r($o);