我正在尝试使用csv填充一个数组,因此每个字段都是数组的独立部分,当我填充数组并将其回显时,它确实表示每个输入的数组。
我有一种感觉,一旦我对csvfull数组进行排序,sku可能需要在主处理循环中循环到。
$ocuk = fopen("ocuk.csv", "r");
while (($result = fgetcsv($ocuk)) !== false)
{
$csvfull[] = $result;
}
print_r ($csvfull[0][1]);
$sku="$csvfull[1]";
while (($csv = fgetcsv($ocuk)) !== FALSE)
{
if (false === empty(array_intersect($sku, $csv)))
{
code to display the results from csv that match the $sku variable
}
}
我需要它做的是csvfull数组来填充csv的内容,这样我就可以将它调用到变量sku中,以便在代码的下一部分进行比较。
编辑我的意思的例子
csv示例
data,data2,data3,data4 etc
data10,data20,data30,data40 etc
数组就像这样
$csvfull=array() would contain the below
array("data","data2","data3","data4");
array("data10","data20","data30","data40");
然后当我调用csvfull [1]时它会显示数据2然后会转到数据20等
答案 0 :(得分:0)
$csvfull
是一个二维数组。第一个维度是CSV的行,第二个维度是列。所以$csvfull[1]
是一个数组,包含文件第二行的所有值。要获得SKU,您需要深入到相应的列,例如
foreach ($csvfull as $row) {
$sku = $row[1];
// Do something with $sku
}
如果您想获得所有SKU的数组,您可以这样做:
$sku = array();
foreach ($csvfull as $row) {
$sku[] = $row[1];
}
答案 1 :(得分:0)
尝试这样:
<?php
$ocuk = fopen('clientes.csv','r');
$i=0;
while(!feof($ocuk)){
$values = fgetcsv($ocuk);
if(empty($values[1] )){ // any index which is not empty to make sure that you are reading valid row.
continue;}
$csvfull[$i] = $values;
$i++;
}
print_r($csvfull);
.
fclose($ocuk);