基本上,我有一个通过 foreach 循环从多维数组构建的变量。
我需要以某种方式验证它的格式,尽管我不确定如何去做,因为在 PHP 方面我还是个新手。
这就是我的字符串的外观:
question1,answer1,answer2,answer3,answer4
question2,answer1,answer2,answer3,answer4
question3,answer1,answer2,answer3,answer4
我需要验证确切的格式,即:
string[comma]string[comma]string[comma]string[comma]string
string[comma]string[comma]string[comma]string[comma]string
string[comma]string[comma]string[comma]string[comma]string
如果可能,我需要使用布尔变量对其进行验证,如果它与格式匹配则返回 true 或 false。这些字符串可以包含任何内容,例如字母、数字、特殊字符等。
每行总是有 5 个字符串和 4 个逗号,不会多也不会少。
如果需要,这是构建多维数组然后将其转换为字符串的代码。它正在抓取上传的 CSV 文件,将其转换为多维数组,然后构建字符串。如您所见,我的数组从 1 而不是 0 开始,没有必要解释为什么,因为那是题外话。
$csv_array = array(array());
if (!empty($_FILES['upload_csv']['tmp_name']))
{
$file = fopen($_FILES['upload_csv']['tmp_name'], 'r');
}
if($file)
{
while (($line = fgetcsv($file)) !== FALSE)
{
$csv_array[] = array_combine(range(1, count($line)), array_values($line));
}
fclose($file);
}
if(!empty($csv_array[1]))
{
foreach (array_slice($csv_array,1) as $row)
{
$all_questions = $all_questions . $row[1] . ",";
$all_questions = $all_questions . $row[2] . ",";
$all_questions = $all_questions . $row[3] . ",";
$all_questions = $all_questions . $row[4] . ",";
$all_questions = $all_questions . $row[5];
$all_questions = $all_questions . "\n";
}
}
非常感谢所有帮助。
提前致谢!