php7 中的国家/地区名称输入验证

Input validation for country name in php7

我正在开发一个 PHP 脚本,它从命令行获取输入。它需要两个字符串作为两个国家名称,例如

- php myphp.php japan china (command line) 

php代码:

if(PHP_SAPI == 'cli') {
    $first = $argv[1];
    $second = $argv[2];
    print_r($argv);
}

这里$first和$second被传递给其他函数,用于进一步处理数据。在传递这些参数之前,我需要检查它们是否是有效的国家/地区名称。

但当国家名称由两个字符串组成时,如韩国,它不会将整个国家名称作为一个输入。

- php myphp.php japan south korea (command line)

Array
(
    [0] => myphp.php
    [1] => china
    [2] => south
    [3] => korea
)

我怎样才能输入一个名称有两个或三个字符串的国家?例如在上面的数组中,$argv[1] 应该是 'china' 而 $argv[2] 应该是 'south korea'.

非常感谢!

您可以简单地将两个国家名称用引号引起来

- php myphp.php 'japan' 'south korea' (command line)
Array
(
    [0] => cli.php
    [1] => japan
    [2] => south korea
)

或者,如果您想使用逗号,则需要在 myphp.php

中进行一些数据操作
// concatenate the relevant arguments into one string
$arguments = '';
for ($i = 1; $i < count($argv); $i++) {
  $arguments .= $argv[$i] . ' ';
}
// explode on comma
$arguments = explode(', ', $arguments);

print_r($arguments);

然后:

- php myphp.php japan, south korea (command line)
Array
(
    [0] => japan
    [1] => south korea
)