in_array没有给出期望的输出-PHP

时间:2018-10-21 12:56:21

标签: php arrays

我有下面的PHP代码,该代码执行以下操作:

  • 上传2个csv文件
  • 将csv标头(第一行)的元素存储到数组中
  • 将csv第二列的元素存储到数组中
  • 检查数组2是否在数组1中存在(并且应该存在)。

但是,最后的if&in_array块始终表示它们不匹配。即使他们这样做。

我是PHP的初学者。有人可以指出我在做什么错吗?

move_uploaded_file($_FILES['userfile']['tmp_name'], $UploadFileToServerRenamed);
move_uploaded_file($_FILES['mappingfile']['tmp_name'], $UploadMappingFileToServerRenamed);

$fpmainfile = fopen($UploadFileToServerRenamed, "r");
$header = fgetcsv($fpmainfile, 4096, ';', '"');

fclose($fpmainfile);

Print_r ($header);

 $csv = array();

 if(($handle = fopen($UploadMappingFileToServerRenamed, "r")) !== FALSE)
 {
    while(($data = fgetcsv($handle, 1000, ",")) !== FALSE)
    {
        $csv[] = $data;

    }
 }

 fclose($handle);

 $fp = file($UploadMappingFileToServerRenamed, FILE_SKIP_EMPTY_LINES);
 echo "<br>";
 $fpcount = count($fp);
  echo "<br>";


 $column = 1;
 $columnarray = array();

 for ($row = 1; $row < $fpcount; $row++) 
 {  
    $datapoint = $csv[$row][$column];
    $columnarraypush = array_push($columnarray, $datapoint);
    $columnarraypush = $columnarray;
}


echo "No of columns";
echo "<br>";
echo $fpcount;
echo "<br>";
echo "column starts here";
echo "<br>";
 print_r($columnarraypush);  echo "<br>";



   $result=array_intersect($columnarraypush, $header);
print_r($result); echo "<br>"; 

 if(in_array($columnarraypush, $header))
 {
     echo "hurray"; echo "<br>";
 }
 else
 {
     echo "boo"; echo "<br>";
 }

我添加了数组相交但似乎没有成功: 下面是回声:

  

Array([0] =>事件编号,月份,描述,状态,状态   原因,提交日期,提交者组,报告日期,位置   公司,位置站点,位置站点组,业务部门,标签   编号,分配的支持公司,分配的支持   组织,ASSIGNEE,已分配组,已分配组   换档,影响,紧急,优先,优先权重,服务类型,机票   类型,最后解决日期,最后解决者,解决方法,PROD CAT   1级,2级猫,3级猫,猫1级,猫猫   2,Res Cat Tier 3,Op类别Tier 1,Op类别Tier 2,Op类别   Tier 3,封闭产品Cat Tier 1,封闭产品Cat Tier 2,封闭产品   Cat Tier 3,封闭产品名称,封闭产品型号Ver,截止日期,OP   CAT,OP CAT1,OP CAT2,RES代码,RES代码1,RES代码   2,重新配置,交付模型,改进   型号,描述,解决方法,支持区域,HPD   地区,国家/地区,公司,网站,经过的秒数,延迟的秒数,Sev 1或2   SLA小时,提交日期2,天,提交月份,国家,卷,SLTime,HD   解决,HD解决15分钟,HD解决30分钟,HD解决   60分钟,SLA,解决了SLA HD,老化,老化组)

     

列数16列从此处开始Array([0] =>事件编号[1]   =>说明[2] =>状态[3] =>分配的组[4] =>优先级[5] =>业务部门[6] =>票证类型[7] =>运营类别层1 [8] =>运营类别2 [9] =>支持的地区[10] =>国家[11] =>   重新配置[12] =>提交日期[13] => [14] =>经过的秒数)   数组差异从这里开始   数组()    嘘

0 个答案:

没有答案