2011-01-09 50 views
1

我有以下代碼PHP,MySQL和陣列 - 如何讓行名稱

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 

我想換成0,1, 2,3等與一些自定義值,如「Id」,「應用程序名稱」,使結果如

 
id = 116153840 
application name = 136676636 
etc .. 
我該怎麼做?

回答

0

替換爲以下的$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的調用來替換匿名函數。

+0

非常感謝回覆。你能幫我多一點嗎?如果value = 0,我不想顯示特定鍵/值的內容。我有以下代碼,但它不起作用 - if(base64_decode($ value)== 0) { $ hidden_​​values [$ value] =「」; } – Michael 2011-01-09 14:12:51

+0

@Michael更新爲包含此要求。隨意問另一個stackoverflow問題的附加要求,只要確保它不以「首先,閱讀我以前的問題:...」;) – phihag 2011-01-09 14:26:23

0

我假設你的行中不是每個字段都應該是一個隱藏字段。否則,你可以做$hidden_fields = $row

我會創建一個指定的隱藏字段的數組:

$HIDDEN = array(
    'id' => 'Id', 
    'Applicantid' => 'application name', 
    'unique_num' => 'whatever' 
); 

,然後在while循環:

while(($row = $usafisRSP->fetch_assoc())){ 

    $hidden_fields = array(); 

    foreach$($HIDDEN as $field=>$name) { 
     $hidden_fields[$name] = $row[$field]; 
    } 

    //... 

    foreach($hidden_fields as $name => $value) { 
     $hidden_fields[$name] = $name . ' = ' . base64_decode($value); 
     echo $hidden_values[$name]; 
     // or just echo $name, ' = ',$hidden_fields[$value]; 
    } 
} 
0
foreach ($row as $key => $value) { 
    $hidden_values[$value] = "$key = ".base64_decode($value)."<br>"; 
    echo $hidden_values[$value]; 
} 

這會給你相關的事情。通過訪問行數組中包含字符串鍵的字符串鍵