将array的值设置为关键SERVER PHP

时间:2018-12-27 18:56:06

标签: php arrays

我有这样的数组:

[0] => MFG Part Number: M402TM
[1] => SKU: dd32
[2] => Weight: 2.99lb/1.36kg
[3] => Warranty: 2

我想要这样的数组:

[MFG Part Number] => M402TM
[SKU] => dd32
[Weight] => 2.99lb/1.36kg
[Warranty] => 2

我是使用以下代码完成的:

$new_array = array_reduce($normal_array, function ($c, $v){ 
    preg_match('/^([^:]+):\s+(.*)$/', $v, $m); 
    if(!empty($m[1])){
        return array_merge($c, array($m[1] => $m[2]));}
    else{
        return array();
    }
},[]);

这在本地很有效,但是当我在服务器上打开脚本时,出现了问题,可能是由于PHP版本不同或其他原因所致,

  

PHP解析错误:语法错误,第322行在/location.php中出现意外的'['

这是代码的一部分

},[]);

有帮助吗?也许我使用的代码不好?有补充代码吗?

1 个答案:

答案 0 :(得分:0)

如果您无法升级php版本,请使用旧的array()样式:

$new_array = array_reduce($normal_array, function ($c, $v){ 
    preg_match('/^([^:]+):\s+(.*)$/', $v, $m); 
    if(!empty($m[1])){
        return array_merge($c, array($m[1] => $m[2]));}
    else{
        return array();
    }
},array());