<?php
$arrayOfString = array(
'customer service[-3] technical support[-3]',
'picture quality[+2]feature[+2]',
'smell[-2]',
'player[+2]',
'player[-3][u]',
'dvd player[-2]',
'player[+2][p]',
'format[+2][u]progressive scan[-2]'
);
preg_match_all("/([\w ]+[^[]]*)\[([+-]\d*?)\]/", implode(",", $arrayOfString) , $matches);
print_r(array_combine(array_filter($matches[1], 'trim'), $matches[2]));
preferences:
55.67 ms | 402 KiB | 5 Q