我阅读了php in_array手册并创建了一些代码行。
$handle = fopen("/path/to/file", "a") or die('Cannot open file:');
$y= $command_name1.$steps1;
$x=trim(shell_exec("grep -ri -o '$y' /path/to/file "));
$Z=array($x);
if (in_array($y,$z,false))
{
echo "thise 2 variables are already in this file";
fclose($handle);
}
else {
//write some thing on that file
}
但这会产生上述错误。我想知道的是,可以将2个变量($command_name1
和$steps1
)加在一起并通过in_array
进行搜索吗?
答案 0 :(得分:9)
$x
不是数组,因此您会收到该错误。
take a look到in_array()
定义和使用。
从功能签名
可以看出bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
你需要第二个参数(在这种情况下是$haystack
)是一个数组而不是一个标量值(无论它是什么类型)
答案 1 :(得分:2)
shell_exec()
返回字符串而不是数组,因此$x
不是数组。
我的猜测是,OP希望使用strpos()
代替shell_exec()
。