0
我正在爲excel創建一個導出工具,而且我的數組有問題。數組問題
當我去打印時,我看到只是A的?
代碼:
$num = $_POST['num'];
for($i =0; $i< $num; $i++){
$firstname = $_POST['firstnameexport'];
$lastname = $_POST['lastnameexport'];
$email = $_POST['emailexport'];
$phone = $_POST['phoneexport'];
$data = array(
array("firstname" => $firstname[$i] , "lastname" => $lastname[$i], "email" => $email[$i], "phone" => $phone[$i])
);
print_r($firstname[$i]);
}
它將打印:
Afirstname lastname email phone
A A A A
值正被通過形式傳遞
這裏是代碼:
$memberfirstnamearray = array($j => $memberfirstname);
$memberlastnamearray = array($j => $memberlastname);
$memberphonearray = array($j => $memberphone);
$memberemailarray = array($j => $memberemail);
$j++;
$i++;
i和j = 0在開始
<input type='hidden' name='firstnameexport' value='$memberfirstnamearray' />
<input type='hidden' name='lastnameexport' value='$memberlastnamearray' />
<input type='hidden' name='emailexport' value='$memberphonearray' />
<input type='hidden' name='phoneexport' value='$memberemailarray' />
<input type='hidden' name='num' value='$j' />
檢查你的HTML的'value ='屬性。我懷疑你會在那裏看到'Array'這個詞,因爲你試圖直接將一個數組作爲一個字符串表示來回顯。如果你需要傳遞給HTML的數組,你需要'serialize()'和'unserialize()'它們。但是,這真的很危險。爲什麼不把它們添加到會話中,而不是將它們發佈到頁面? –
@mike謝謝你的回覆。我有一個來自mysql的填充列表,並從中我有一個導出按鈕,這是我正在工作,我認爲這是最簡單的只是讓它被設置到一個隱藏的輸入框,併發送過來?如果你知道的更好,請讓我知道! –
重命名您的表單字段名稱的數組在末尾有方括號,即i。即name =「firstnameexport []」並遍歷所有行,或者像m那樣序列化反序列化。 berkowski建議 –