我下面有一个工作脚本,该脚本检查列(1)中是否有东西,如果找到,则查看相邻的列(0)并执行一些操作。 (我已经排除了重要代码上方的内容,但是它以$thisGame
或thisGameNoExtension
的形式循环访问目录中的每个文件,只是没有文件扩展名而已!
$csvFile = fopen("ManualRegionDupes.csv", "r");
while ($csvRows = fgetcsv($csvFile))
{
if ($csvRows[1] == $thisGameNoExtension)
{
$primaryGame = $csvRows[0];
$fileExtension = pathinfo($thisGame, PATHINFO_EXTENSION);
$fileCheck = trim(shell_exec("ls -1 " . escapeshellarg($primaryGame) . "." . escapeshellarg($fileExtension) . " 2>/dev/null"));
if ($fileCheck)
{
echo "\033[00;33m is on the Manual Region Dupes list and primary version detected. Moved to Removed folder\n";
shell_exec("mv " . escapeshellarg($thisGame) . " Removed/");
continue 2;
}
else
{
echo "\033[00;33m is on the Manual Region Dupes list but primary version is missing. Kept.\n";
continue 2;
}
}
}
fclose($csvFile);
我需要创建一种查看3列(1、2和3)而不仅仅是一个的方法。如果这些列中的任何一个包含我要查找的内容,那么我想继续执行脚本。我不确定该如何实现。我尝试过:
if ($csvRows[1,2,3] == $thisGameNoExtension)
还有
`if ($csvRows[1] == $thisGameNoExtension) || if ($csvRows[2] == $thisGameNoExtension) || if ($csvRows[3] == $thisGameNoExtension)
但是两者都是错误的语法-希望它们能显示出我正在尝试达到的目标!我敢肯定有一个相当简单的解决方案,对于成为昏迷的人表示歉意,并在此先感谢您能为我提供的任何帮助!
非常感谢。
答案 0 :(得分:1)
这是非常基本的东西,但是:
if ($csvRows[1] == $thisGameNoExtension || $csvRows[2] == $thisGameNoExtension || $csvRows[3] == $thisGameNoExtension) {
您没有为每个谓词指定if
关键字。
编辑:要回复评论,请将您的if
语句更改为:
if (in_array($thisGameNoExtension, array_slice($csvRows, 0, 3))) {