动态数组覆盖

时间:2014-10-27 02:41:12

标签: php arrays multidimensional-array

我是数组的新手,我有一个解密函数和SQL查询。进程是我在数据库中查询并返回数组中的$ get:

array (size=1)
0 => 
 array (size=3)
   'Username' => string 'joenefloresca' (length=13)
   'MiddleName' => string 'Estero' (length=6)
   'Email' => string 'joenefloresca@gmail.com' (length=23)

我想要的是使用我的decrpyt函数(数据是加密的,上面只是一个例子)。当我解密 我希望它用解密的值覆盖$ get数组。我可以这样做,

foreach( $get as $key => $result )
{    
 $get[$key]['Username'] = $decr->decrypt($result['Username']);
 $get[$key]['MiddleName'] = $decr->decrypt($result['MiddleName']);
 $get[$key]['Email'] = $decr->decrypt($result['Email']);
}

但是我可以这样做,如果我的字段像用户名,MiddleName,电子邮件在sql查询中修复,如果 它是动态的吗?查询中的字段由用户定义,例如。如果用户名是唯一的字段怎么办?或用户名和电子邮件?如何使用仅具有所选字段的解密数据覆盖数组?

感谢。

1 个答案:

答案 0 :(得分:0)

如果您不想显式设置所需的索引,请在内部嵌套另一个循环:

foreach($get as $key => $result) {
    foreach($result as $k => $val) { // will loop for each piece/copy of `$result`
        $get[$key][$k] = $decr->decrypt($val);
    }
}