3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?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++; } }
based on bTqEO
Output for 4.3.0 - 7.2.0
com.aria.common.shared.{{ parameter.nameUpper }}Row {{ parameter.nameCamel }}Row0 = new com.aria.common.shared.{{ parameter.nameUpper }}Row(); {{ parameter.nameUpper }}Row0.setName("Relay"); {{ parameter.nameUpper }}Row0.setService_type("RS"); com.aria.common.shared.admin.TierArray tierArray = new com.aria.common.shared.admin.TierArray(); com.aria.common.shared.admin.TierRow tierRow0 = new com.aria.common.shared.admin.TierRow(); tierRow0.setFrom(1); tierRow0.setTo(10); com.aria.common.shared.admin.TierRow tierRow1 = new com.aria.common.shared.admin.TierRow(); tierRow1.setFrom(11); tierRow1.setTo(); {{ parameter.nameCamel }}Row0.setTier(tierArray); {{parameter.nameCamel }}Array.get{{ parameter.nameUpper }}Row().add({{ parameter.nameCamel }}Row0);