Strpos返回的结果超出预期-始终为true

时间:2020-01-08 10:43:00

标签: php

我看过How do I check if a string contains a specific word?这里提供的示例,并试图在我的代码中实现相同的逻辑。

但是,我得到的结果不是我期望的。

我的代码如下

foreach ($files as $file_name) {
        require_once "Classes/PHPExcel.php";
        $tmpfname = "./product_files/".$file_name;
        //echo $tmpfname;
        //die();
        $excelReader = PHPExcel_IOFactory::createReaderForFile($tmpfname);
        $excelObj = $excelReader->load($tmpfname);
        $worksheet = $excelObj->getSheet(0);
        $lastRow = $worksheet->getHighestRow();
        echo $file_name;
         if (strpos($file_name, 'aroundnoon' !== false)) {
                    echo 'Aroundnoon </br>' ;
                 }
         else if (strpos($file_name, 'classic_drinks' !== false)) {
            echo 'Classic Drinks </br>' ;
         }
         else 
         {
             echo 'This is stupid.. </br>';
         }
}

文件名是aroundnoon.xlsx和classic_drinks.xlsx,但是当我运行该文件时,得到以下结果Sample

我要去哪里错了?

1 个答案:

答案 0 :(得分:-1)

如评论中所述,您在两个)调用中都将strpos()放错了位置。检查下面的代码:

$files = [

    'aroundnoon.xlsx',
    'classic_drinks.xlsx'
];

foreach ($files as $file_name) {
    if (strpos($file_name, 'aroundnoon') !== false) {
        echo 'Aroundnoon </br>' ;
    }
    else if (strpos($file_name, 'classic_drinks') !== false) {
        echo 'Classic Drinks </br>' ;
    }
    else {
        echo 'This is stupid.. </br>';
   }
}

在此处检查输出:https://ideone.com/zpW8Mg

相关问题