我是数组的新手,我有解密函数和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)
我想要的是使用我的decopyt函数(数据是加密的,上面只是一个例子)。当我解密时我希望它用解密的值覆盖$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']);
}
但如果我的字段(如用户名、中间名、电子邮件)在sql查询中是固定的,我可以这样做,如果它是动态的?查询中的字段由用户定义,例如,如果用户名是唯一的字段怎么办?还是仅用户名和电子邮件?如何用只包含选定字段的解密数组覆盖数组?
谢谢。
如果不想显式设置所需的索引,只需在其中嵌套另一个循环:
foreach($get as $key => $result) {
foreach($result as $k => $val) { // will loop for each piece/copy of `$result`
$get[$key][$k] = $decr->decrypt($val);
}
}