如何使用 php 分隔 excel 中带逗号的全名

How to separate the full name that has comma in excel using php

我有一个项目从 excel 获取名称并将值存储在名字和姓氏中。问题是在 excel 文件中存储了名称(例如 John、Constantine)我如何获取 John 和 Constantine 并将其存储在两个不同的变量中?


if(isset($_POST['excel_btn']))
{
    require('import/PHPExcel/PHPExcel.php');
    require('import/PHPExcel/PHPExcel/IOFactory.php');

    $file=$_FILES['myFile']['tmp_name'];
    

    $obj=PHPExcel_IOFactory::load($file);
    foreach($obj->getWorksheetIterator() as $sheet)
    {
        $getHighestRow=$sheet->getHighestRow();
        for($i=1; $i<=$getHighestRow; $i++){
            $name=$sheet->getCellByColumnAndRow(0,$i)->getValue();
           
             if($name !=''){
                 $query = "INSERT INTO users(name) VALUES('$name')";
            
            $query_run=mysqli_query($conn, $query);

            }
    }
}

这是我到目前为止写的,但是全名存储在变量中 $name

(已更新)

使用explode

$pieces = explode(",", $name);
echo trim($pieces[0]); // John
echo trim($pieces[1]); // Constantine

或者,作为@Markus Zeller:

list($first, $last) = explode(',', 'John, Constantine')
echo trim($first);
echo trim($last);

您还可以使用以逗号或任何 space 字符分隔的正则表达式。可选标志 PREG_SPLIT_NO_EMPTY 将确保不会返回空匹配项。这个技巧还可以确保修剪。

list($first, $last) = preg_split('/[,\s*]/', 'John, Doe', -1, PREG_SPLIT_NO_EMPTY);

这也适用于像“ John, Doe”这样的字符串,两者的结果都是

$first = 'John';
$last  = 'Doe';