在if语句中使用explode数组

时间:2016-03-01 23:21:13

标签: php arrays if-statement explode

第一篇文章。一直在这里搜索以找出问题。

我正在使用表单以这种格式上传带有数组的.txt:

“VAR1”, “VAR2”, “VAR3”, “VAR4” ...等

这是我的代码:

<?php

$file = $_FILES['uploaded_file']['tmp_name'];
$file2 = nl2br(file_get_contents($file));
$file3 = str_replace('"' , '' , $file2);
$file4 = str_replace('ÿþ' , '' , $file3);
$line_break = explode("<br />" , $file4);
$topchange=105;
  foreach ($line_break as $final1) {

   $final2 = explode("," , $final1);
     $regex = '#\((([^()]+|(?R))*)\)#';
     preg_match($regex, $final1, $match);

        if($final2[4] == "DF") {
            $type == "DF";
        } else { $type == "S"; }

     echo "<div style='position:absolute;TOP:". $topchange .";LEFT:395;'>". $final2[1] ."</div>";
     echo "<div style='position:absolute;TOP:". $topchange .";LEFT:446;'>". $final2[3] ."</div>";
     echo "<div style='position:absolute;TOP:". $topchange .";LEFT:365;'>". $match[0] ."</div>";
     echo "<div style='position:absolute;TOP:". $topchange .";LEFT:335;'>". $type ."</div>";
     echo "<div style='position:absolute;TOP:". $topchange .";LEFT:520;'>". $final2[6] ."</div>";
        $changeamt = 24.2;
        $topchange = $topchange + $changeamt;



  }


?>

很抱歉,如果我的格式很糟糕,但它适合我。我的问题在于简单的if语句。我已经回复了$ final2 [4],以确保它输出纯文本。据我所知,页面和页面源,它​​以各种小的文本字符串(TE,WE,BE,P,S和DF)形式出现。我基本上希望每个字符串都改为S,除非它是DF,在这种情况下它将保持不变。

一直在研究这个问题,但是无法理解。

1 个答案:

答案 0 :(得分:3)

如果你必须分配并且没有比较,你的代码内容如下:

if($final2[4] == "DF") {
    $type == "DF";
} else {
    $type == "S";
}

你应该这样做:

$type = "S";
if($final2[4] == "DF") {
    $type = "DF";
}