我有以下代码
while($row = $usafisRSP->fetch_assoc()) {
$id = $row['id'];
$Applicantid = $row['Applicantid'];
$unique_num = $row['unique_num'];
// .................
$hidden_fields = array($Applicantid, $unique_num, $regs_t ....);
$hidden_values = array();
foreach ($hidden_fields as $key => $value) {
$hidden_values[$value] = "$key = ".base64_decode($value)."<br>";
echo $hidden_values[$value];
}
}
结果是这样的
0 = 116153840 1 = 136676636 2 = 2010-12-17T04:12:37.077 3 = XQ376 4 = MUKANTABANA
我想用一些自定义值(如“Id”、“应用程序名称”)替换 0、1、2、3 等,以使结果类似于
id = 116153840 application name = 136676636 etc ..我该怎么做?
最佳答案
将 $hidden_fields = array(...
行替换为以下内容:
$hidden_keys = array('id', 'Applicantid', 'unique_num');
$hidden_fields = array_intersect_key($row, array_fill_keys($hidden_keys, NULL));
如果你想抑制所有值为 0 的字段,要么使用
$hidden_fields = array_filter($hidden_fields, function($v) {return $v != 0;});
(这将完全忽略 0 项)或
$hidden_fields = array_map($hidden_fields, function($v) {return ($v==0?'':$v);});
(这将使它们留空)。如果您使用的是 5.3 之前的旧版本,则必须将匿名函数替换为对 create_function 的调用。
关于php, mysql, arrays - 如何获取行名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4639107/