2013-06-19 48 views
0

在下面的代碼中,如何爲PHP變量賦值數組值。如何爲php變量賦值數組值

while($objResult = mysql_fetch_array($objQuery)) 
{ 
$cutomername[] = $objResult["firstname"]; 
$mailid[] = $objResult["mailid"]; 
$address[] = $objResult["address"]; 
$phonenumber[] = $objResult["phonenumber"]; 
$items[] = $objResult["itemname"]; 
$quantity[] = $objResult["quantity"]; 
$total[] = $objResult["grandtotal"]; 

    $name = $cutomername[]; 
    $mail = $mailid[]; 
    $addr = $address[]; 
    $phnum = $phonenumber[]; 
    $itm = $items[]; 
    $qty = $quantity[]; 
    $tot = $total[]; 
} 
+1

請把這個問題重新解釋一下,你究竟在做什麼nt實現? – Havsmonstret

+0

@Havsmonstret不,謝謝.... – Arut

+0

@Eineki希望將數組中的每個值賦給一個變量以將其存儲在數據庫中。我得到了解決方案。 – Arut

回答

1

您可以同時使用類似分配你的兩個變量這個:

while($objResult = mysql_fetch_array($objQuery)) 
{ 
    $name = $cutomername[] = $objResult["firstname"]; 
    $mail = $mailid[] = $objResult["mailid"]; 
    $addr = $address[] = $objResult["address"]; 
    $phnum = $phonenumber[] = $objResult["phonenumber"]; 
    $itm = $items[] = $objResult["itemname"]; 
    $qty = $quantity[] = $objResult["quantity"]; 
    $tot = $total[] = $objResult["grandtotal"]; 
} 
+0

感謝您的答案完美工作,你可以說我的代碼不工作的原因。 – Arut

+0

'$ name = $ cutomername [];'在'$ cutomername'數組末尾插入一個新的'null'值,然後將'null'值賦給'$ name'。 – adamdunson

+0

謝謝你解決我的疑問。 – Arut

0
$name = $customername[count($customername)-1]; 

如此反覆每個變量。

或者,你可以存儲長度一樣,

$len = count($customername)-1; 

分配$total之前然後爲每個變量只寫這樣的:

$name = $customername[$len]; 
+0

或者您可以使用'$ name = end($ customername);'但它會被下一個迭代循環覆蓋。 – Eineki

+0

@Eineki你有機會知道'end()'工作有多快嗎?我的意思是,它是否迭代到數組的末尾? – Cthulhu

+1

不,它根本沒有迭代,內部'end'使用'zend_hash_internal_pointer_end',它使用一個指針來標識它管理的哈希末尾(剛剛從php 5.4.16源代碼讀取) – Eineki