如何在PHP中向函数传递命令行参数并实现回文判断?
解决PHP命令行传参判断回文的问题
嘿,我来帮你搞定这个命令行传参的问题!你现在的代码里是硬编码了DAD这个字符串,要从命令行传参的话,PHP有专门的内置变量来处理,具体用法如下:
核心知识点:PHP命令行参数获取
- PHP提供了
$argv内置数组来获取命令行参数,其中$argv[0]永远是你执行的脚本文件名(比如这里的test.php) - 你在命令行传入的第一个参数会存在
$argv[1]里,第二个参数对应$argv[2],以此类推
修改后的完整代码
<?php function Palindrome($string){ // 要是需要忽略大小写判断回文,可以改成 strtolower(strrev($string)) == strtolower($string) if (strrev($string) == $string){ return 1; } else { return 0; } } // 先判断用户有没有传参,避免报错 if (!isset($argv[1])) { echo "请传入一个字符串作为参数!示例:php test.php dad\n"; exit; } // 从命令行获取传入的字符串 $original = $argv[1]; if(Palindrome($original)){ echo "Palindrome\n"; } else { echo "Not a Palindrome\n"; } ?>
运行方式
在命令行执行以下命令即可:
php test.php dad
或者传入大写的字符串:
php test.php DAD
如果想让判断忽略大小写(比如Dad也被判定为回文),只需要把函数里的判断逻辑改成:
if (strtolower(strrev($string)) == strtolower($string))
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

