我有使用 QR 扫描仪 Web 应用程序提取的 QR 代码内容。仅下面的示例。
示例:
// This is the string extracted from the QR Code
"Name1","Name2","Name3","Name4","Name5","Name6","Name7"
当我提交它存储到我的数据库时,我已将它分配给一个变量
PHP
<?php
if(isset($_POST['submit'])) {
$qr_results = $_POST['qr_bookingresults'];
$array_results = ltrim($qr_results,"QR Code:"); // I used ltrim because there is a string QR Code: attached when I extract the qr code
echo $array_results;
}
?>
但是当我使用 print_r function()
时,字符串仅存储在一个数组中,如下所示:
$fetchresult = array($array_results); // Assign variable and convert $array_results variable to an array
print_r($fetchresult);
print_r() 函数结果
Array ( [0] => "Name1","Name2","Name3","Name4","Name5","Name6","Name7" )
我的问题是,为什么它只将整个字符串存储到一个数组中?其中应该是这样的。
Array ( [0] => Name1 [1] => Name2 [2] => Name3 [3] => Name4 [4] => Name5 [5] => Name6 [6] => Name7 )
因为我真正想做的是提取内容并将其存储到一个数组中,这样我就可以像这样自由地将其插入到 mysql 中:
// Assign each variable to an array for inserting into mysql
$name1 = $fetchresult[0];
$name2 = $fetchresult[1];
$name3 = $fetchresult[2];
$name4 = $fetchresult[3];
$name5 = $fetchresult[4];
$name6 = $fetchresult[5];
$name7 = $fetchresult[6];
有谁知道如何解决这个问题吗?谢谢
最佳答案
这似乎是 CSV 格式的字符串。
使用str_get_csv()
以确保您考虑到任何文本内逗号和转义引号。
<?php
$qr_string = '"Name1","Name2","Name3","Name4","Name5","Name6","Name7","I am here to ruin your day, am I not?","24"" (inch) TV"';
$array = str_getcsv( $qr_string );
print_r( $array );
结果:
Array
(
[0] => Name1
[1] => Name2
[2] => Name3
[3] => Name4
[4] => Name5
[5] => Name6
[6] => Name7
[7] => I am here to ruin your day, am I not?
[8] => 24" (inch) TV
)
关于php - 如何在php中提取二维码内容并将其存储为数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55124395/