我試圖在寫入CSV之前先將數據存儲到數組中,然後將數據插入到CSV文件中。但是我在編寫一個多維數組到CSV文件時遇到了一個問題。使用PHP將數組寫入CSV文件
這裏是我的輸入怎麼看起來像:
<input type="text" name="names" placeholder="Enter Name" />
<select name="gender">
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>
<input type="text" name="age" placeholder="Enter Age" />
<input type="text" name="state" placeholder="Enter State" />
<label>How Did You Find Us?</label>
<input type="checkbox" name="remarks[]" value="Search Engine (eg. Google)"> Search Engine (eg. Google)
<input type="checkbox" name="remarks[]" value="Facebook"> Facebook
<input type="checkbox" name="remarks[]" value="Newspaper Ads"> Newspaper Ads
<input type="checkbox" name="remarks[]" value="Bus-Stop Ads"> Bus-Stop Ads
下面的代碼是我如何存儲輸入數據,並在CSV文件中寫:
$names = filter_input(INPUT_POST, "names");
$gender = filter_input(INPUT_POST, "gender");
$age = filter_input(INPUT_POST, "age");
$state = filter_input(INPUT_POST, "state");
$remarks = $_POST['remarks'];
$inputArr[] = array(
$names, $gender, $age, $state, $remarks
);
$fp = fopen($_SERVER["DOCUMENT_ROOT"]."/student.csv", "a+");
fputcsv($fp, $inputArr);
fclose($fp);
的$inputArr
輸出是遵循這是一個multidimentional:
Array
(
[0] => Melinda
[1] => Female
[2] => 23
[3] => united state
[4] => Array
(
[0] => Facebook
[1] => Newspaper Ads
[2] => Bus-Stop Ads
)
)
我想讓數組像下面的數組使數據可以被插入到CSV,但我不知道怎麼的foreach數組得到的輸出如下:
Array
(
[0] => Melinda
[1] => Female
[2] => 23
[3] => united state
[4] => Array
[5] => Facebook
[6] => Newspaper Ads
[7] => Bus-Stop Ads
)
可以添加一個小樣本的CSV用頭? –
從你的'$ inputArray'中移除'$ remark',然後使用array_merge()來添加它們:'$ inputArray = array_merge($ inputArrray,$ remarks);'。這應該創建一個包含所有值的一維數組。 –
順便說一句,你的代碼應該在當前數組中產生另一個級別,因爲你使用'$ inputArr [] = ...'而不是'$ inputArr = ...' –