2009-02-24 189 views
0

下面是代碼PHP字符串格式化

$i=0; 
while ($row = mysql_fetch_array($result)) 
    { 
    $output.="idno".$i."=".urlencode($row['usr_id']). 
    '&'."res".$i."=".urlencode($row['responce']). 
    '&'."sex".$i."=".urlencode($row['sex']). 
    '&'."com1".$i."=".urlencode($row['com1']). 
    '&'."com2".$i."=".urlencode($row['com2']); 
    $i++; 

    } 

輸出I得到IDNO是COM2字符串我如何它們分開的一部分。

回答

4

您需要添加一個&$i不爲零:

$i=0; 
while ($row = mysql_fetch_array($result)) 
     { 
    $output .= ($i ? '&' : '') . "idno".$i."=".urlencode($row['usr_id']). 
     '&'."res".$i."=".urlencode($row['responce']). 
     '&'."sex".$i."=".urlencode($row['sex']). 
     '&'."com1".$i."=".urlencode($row['com1']). 
     '&'."com2".$i."=".urlencode($row['com2']); 
    $i++; 

     } 
+0

AAAAH,這就是他的意思。 +1 – 2009-02-24 15:21:12

+0

是的,我不得不閱讀這個問題幾次纔算出來呃 – Greg 2009-02-24 15:22:15

3

另一個解決方案是使用數組並隨後加入其元素:

$array = array(); 
$i = 0; 
while ($row = mysql_fetch_array($result)) { 
    $array[] = "idno$i=".urlencode($row['usr_id']); 
    $array[] = "res$i=".urlencode($row['responce']); 
    $array[] = "sex$i=".urlencode($row['sex']); 
    $array[] = "com1$i=".urlencode($row['com1']); 
    $array[] = "com2$i=".urlencode($row['com2']); 
    $i++; 
} 
$output .= implode('&', $array); 

此外,您可以使用argName[]聲明PHP在接收到這樣的請求查詢字符串時將轉換爲數組。

1

或者你可以這樣做:

$array = array(); 
$i = 0; 
while ($row = mysql_fetch_array($result)) { 
    $array["idno$i"] = $row['usr_id']; 
    $array["res$i"] = $row['responce']; 
    //etc. 

    $i++; 
} 

$output = http_build_query($array);