Php 跳过数组_键中的提交按钮

Php 跳过数组_键中的提交按钮,php,fputcsv,Php,Fputcsv,我有一个处理表单并将值输出到CSV文件的PHP例程。我正在使用array\u keys()创建标题行(如果有标题行,则跳过)。除了最后一个标题词是“提交”之外,其他一切都很完美,因为,当然,我的表单包括一个提交按钮。因此,数据最终如下所示: name,email,cell,dob,study,submit "Temp One",fred@gmail.com,646-325-1111,1995-03-31,8,Submit "Temp Two",tom@gmail.com,646-325-2222

我有一个处理表单并将值输出到CSV文件的PHP例程。我正在使用
array\u keys()
创建标题行(如果有标题行,则跳过)。除了最后一个标题词是“提交”之外,其他一切都很完美,因为,当然,我的表单包括一个提交按钮。因此,数据最终如下所示:

name,email,cell,dob,study,submit
"Temp One",fred@gmail.com,646-325-1111,1995-03-31,8,Submit
"Temp Two",tom@gmail.com,646-325-2222,1995-03-31,4,Submit
如何从标题和数据中省略submit按钮

这是我的密码:

if(isset($_POST['submit'])) {
    $data = array_values($_POST); // get only values
    $headers = array_keys($_POST); // keys are headers 
    if( $fp = fopen('data.csv','a+')) {
        $line = fgets($fp);
        if(!$line == $headers) {
                fputcsv($fp, $headers);
                fputcsv($fp, $data);
        }
        else
        {
            fputcsv($fp, $data);
        }
        fclose($fp);
        header('Location: thanks.php'); 
    }
}

将其从阵列中删除

$post = $_POST;
unset($post['submit']);
$data = array_values($post); // get only values
$headers = array_keys($post); // keys are headers 

从html中的“提交”按钮中删除名称

而不是

if(isset($_POST['submit']))
使用

array\u pop()
将删除数组的最后一个元素:

$data = array_pop(array_values($_POST)); // get only values
$headers = array_pop(array_keys($_POST)); // keys are headers

不错!因此+1工作非常完美-非常感谢!当您打算更多地使用PHP语言时,阅读PHP手册的主题有一定的用处。例如,关于变量和数组的部分:
$data = array_pop(array_values($_POST)); // get only values
$headers = array_pop(array_keys($_POST)); // keys are headers