Kim,
After some contemplation (and slightly less crack):
<?php
$str = "[layer1][layer2][layer3][layer4]";
$parts = array_reverse(explode("][", substr($str, 1, -1)));
$array = "FOO";
foreach ($parts as $part) {
$array = array($part => $array);
}
print_r($array);
?>
Array
(
[layer1] => Array
(
[layer2] => Array
(
[layer3] => Array
(
[layer4] => FOO
)
)
)
)
David
David Grant wrote:
> Kim,
>
> May the hack-o-rama commence:
>
> <?php
> $str = "[layer1][layer2][layer3][layer4]";
> $parts = explode("][", substr($str, 1, -1));
> $text = "";
> foreach ($parts as $part) {
> $text .= 'a:1:{s:' . strlen($part) . ':"' . $part . '";';
> }
> $text .= 'b:1;' . str_repeat('}', count($parts));
> print_r(unserialize($text));
> ?>
>
> It works, but I'm not proud. :P
>
> David
--
David Grant
http://www.grant.org.uk/
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php