我有一个一维数组(一个例子):
{
["Pagamento_valor_liquido"]=> string(3) "111"
["Pagamento_valor_bruto"]=> string(3) "222"
["TipoPagamento_id"]=> string(3) "333"
["TipoPagamento_descricao"]=> string(3) "444"
}我需要帮助将其转换为两个子数组:
{
["Pagamento"]=> array(2) {
["valor_liquido"]=> string(3) "111"
["valor_bruto"]=> string(3) "222"
}
["TipoPagamento"]=> array(2) {
["id"]=> string(3) "333"
["valor_bruto"]=> string(3) "444"
}
}如何以通用的方式使用此模式(Father_son_name)?
谢谢,Celso
发布于 2011-11-17 22:19:15
$array = array("Pagamento_valor_liquido" => "111", "Pagamento_valor_bruto" => "222", "TipoPagamento_id" => "333", "TipoPagamento_descricao" => "444");
$result = array();
foreach ($array as $k => $v) {
$name = explode('_', $k);
$newkey = array_shift($name);
$newname = implode('_', $name);
$result[$newkey][$newname] = $v;
}
var_export($result);在行动中观看它here
对你来说似乎是很普通的。
发布于 2011-11-17 22:22:31
function transform($array) {
$return = Array();
foreach($array as $keyname => $value) {
list($key, $key2) = explode("_", $keyname, 2);
if(!isset($return[$key])) $return[$key] = Array();
$return[$key][$key2] = $value;
}
return $return;
}https://stackoverflow.com/questions/8168475
复制相似问题