Дано:
$val = "font-size:12px;color:#ff0000;font-family:Arial";
В следующем коде строка будет взорвана дважды, чтобы получить массив массивов:
$val = explode(';',$val);
foreach($val as &$v)
$v = explode(':',$v);
var_dump($val);
Вывод:
array(3) {
[0]=>
array(2) {
[0]=>
string(9) "font-size"
[1]=>
string(4) "12px"
}
[1]=>
array(2) {
[0]=>
string(4) "fill"
[1]=>
string(7) "#ff0000"
}
[2]=>
&array(2) {
[0]=>
string(11) "font-family"
[1]=>
string(5) "Arial"
}
}
Есть ли более эффективный / чистый способ достижения того же результата?
Я бы предпочел что-то без лямбда-функций, поскольку PHP 5.2 не поддерживает их. Но в любом случае это чисто интеллектуальный вопрос, так что это просто предпочтение.