- parse_str: documentation ( source)
- ucfirst: documentation ( source)
<?php
$str = "client_sku=item1&service[0][name]=Relay&service[0][service_type]=RS&service[0][tier][0][from]=1&service[0][tier][0][to]=10&service[0][tier][1][from]=11&service[0][tier][1][to]=";
parse_str($str, $output);
$index = 0;
foreach($output as $key => $row) {
if(is_array($row)) {
echo 'com.aria.common.shared.{{ parameter.nameUpper }}Row {{ parameter.nameCamel }}Row'.$index.' = new com.aria.common.shared.{{ parameter.nameUpper }}Row();'."\n";
if(is_array($row)) {
foreach($row as $k=>$v) {
if(is_array($v)) {
$count = 0;
$len = count($v);
foreach($v as $row=>$column) {
if(is_array($column)) {
echo 'com.aria.common.shared.admin.'.ucfirst($row).'Array '.$row.'Array = new com.aria.common.shared.admin.'.ucfirst($row).'Array();'."\n";
foreach($column as $r=>$c) {
if(is_array($c)) {
echo 'com.aria.common.shared.admin.'.ucfirst($row).'Row '.$row.'Row'.$count.' = new com.aria.common.shared.admin.TierRow();'."\n";
foreach($c as $name=>$value) {
echo $row.'Row'.$count.'.set'.ucfirst($name).'('.$value.');'."\n";
}
}
$count++;
}
if($count == $len - 1) {
echo '{{ parameter.nameCamel }}Row'.$index.'.set'.ucfirst($row).'('.$row.'Array);'."\n";
echo '{{parameter.nameCamel }}Array.get{{ parameter.nameUpper }}Row().add({{ parameter.nameCamel }}Row'.$index.');'."\n";
}
}
else {
echo '{{ parameter.nameUpper }}Row'.$index.'.set'.ucfirst($row).'("'.$column.'");'."\n";
}
}
} else {
echo '{{ parameter.nameCamel }}'.$index.'set'.ucfirst($k).'("'.$v.'");'."\n";
}
}
}
$index++;
}
}