注意:使用数组时未定义偏移量:5
我想从ASC文件中提取数据。但是当我尝试从中提取数据时,它告诉我它有一个未定义的偏移量?注意:使用数组时未定义偏移量:5
这是我用它来提取数据的代码(在$数据2时出现错误,$数据是罚款):
$File = $_FILES['file']['tmp_name'];
$File2 = $_FILES['file2']['tmp_name'];
$handle = fopen($File, "r");
$handle2 = fopen($File2, "r");
$arrResult = array();
$arrResult2 = array();
fgetcsv($handle);
fgetcsv($handle);
fgetcsv($handle);
fgetcsv($handle);
fgetcsv($handle);
fgetcsv($handle);
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE && ($data2 = fgetcsv($handle2, 1000, ";")) !== FALSE) {
//---------------------
$artikelnmr = $data[0];
$barcode = $data[1];
$omschrijving_nl = $data[2];
$omschrijving_exp = $data[3];
$bruto_prs = $data[4];
$staffel_prs = $data[5];
$aktie_prs = $data[6];
$bruto_antl = $data[8];
$staffel_antl = $data[9];
$aktie_aantal = $data[10];
$voorraad = $data[15];
$leverdatum = $data[16];
$besteld = $data[17];
$pallet_antl = $data[19];
$artikel_groep = $data[22];
$extra_info = $data[27];
//-----------------------
$type = $data2[0][0];
$artikel = $data2[0][1];
$prijs1 = $data2[5];
$prijs2 = $data2[6];
$prijs3 = $data2[7];
$prijs4 = $data2[8];
$prijs5 = $data2[9];
//----------------------
这是被返回的错误:
(!)注意:未定义抵消:用C 5:\ wamp64 \ WWW \ jodeco \ import.php 上线53调用堆栈
时间记忆功能定位
1 0.0011 414880 {主}()... \ import.php:0
2 0.0032 430384 importdb()... \ import.php:222
而这也正好为所有其他数据点(5-9)
这里是ASC文件的几行:
0 1 2 3 4 5 6 7 8 9 10 11
---------------------------------------------------------------------------------------------------------------------------------
5 ;790148 ; ; ; ; 4.35; 0.00; ; ; 0.00; ; ;
1 ;790148 ; ; ; ; 4.35; 0.00; ; ; 0.00; ; ;
您的代码应该是这样
$artikelnmr = isset($data[0]) ? $data[0] : "";
的
$artikelnmr = $data[0];
insted的你得到了一个未定义偏移,因为$data[5]
不是在你的$data
阵列发现 尝试isset()
检查设置或不偏移。
我没有任何$数据的问题。我有$ data2的问题 –
make'setset($ data2 [5])? $ data2 [5]:“”;'试试这个..等等... –
使用'fgetcsv'时,请注意文件的最后一行。如果这最后一行仅包含回车符,则会抛出此错误。 –