2

我写的代码如下:

<?php
array_shift($argv);
$taskid=$argv[0];
$file1=file_get_contents($argv[1]);
$file2=fopen($argv[2],"w");
echo $taskid."\n".$file1."\n".$file2."\n";
?>

我执行这个程序,php myfile.php 1 1.txt 2.txt 其中 1 是 taskid,1.txt 是输入文件,2.txt 是输出文件。我想修改这个程序,即使我没有传递任何php myfile.php应该运行的参数,它也能运行。我想为此设置一个 if 条件。我使用了if(*argv<=1)if(argc==NULL) 等条件,但它们都不起作用。

我需要一个完美的条件来检查是否没有传递任何参数,然后我的程序应该显示一条用户友好的消息。

有人能帮我吗??

4

2 回答 2

5
if ($argc !== 4) {
  // show message 
于 2012-09-29T16:16:29.407 回答
2

尝试这个:

<?php
array_shift($argv);

if (empty($argv) || count($argv) != 3) {
  echo "Incorrect number of arguments\n";
}
else {
  $taskid = $argv[0];
  $file1 = file_get_contents($argv[1]);
  $file2 = fopen($argv[2],"w");
  echo $taskid . "\n" . $file1 . "\n" . $file2 . "\n";
}
于 2012-09-29T16:58:35.747 回答