【发布时间】:2016-01-14 06:57:40
【问题描述】:
我正在编写一个非常简单的 php 脚本,它获取命令行参数的路径并将其打印出来。
这是我的代码:
<?php
$argument1 = $argv[1];
$argument2 = $argv[2];
echo $argv[1];
?>
输出:
user-mbp:desktop$ php test_script.php /desktop/my/path/
/desktop/my/path/user-mbp:desktop user$
You can see the result "/desktop/my/path/" is behind the line of user-mbp:desktop $
但我想要的结果是这样的:
/desktop/my/path/ <- Line 1
user-mbp:desktop user$ <- Line 2
你对我的代码有什么提示吗?我很感激。
我尝试了命令echo $argv[1] ."\n",但结果很奇怪:
/desktop/my/path/
user-mbp:desktop user$
您可以看到确实显示在用户行下。
但我不太明白为什么user-mbp:desktop user$ 行会移动并转到下一行!再次感谢!
【问题讨论】:
-
您忘记了换行符。
echo $argv[1], "\n"。 php 不会自动为您执行换行符,因此输出正好在要输出的数据所在的位置结束。这意味着命令提示符恰好显示在输出的末尾,而不是新行。 -
如果你多次这样做,创建一个函数:
function writeln($str){echo $str ."\n";} writeln($argv[1]);
标签: php command-line-arguments