if(!preg_match("/^[a-zA-Z0-9]+$/", $str) == 1) {
echo 'Invalid Characters';
}
echo 'Valid characters';
这很好用:
function f() {
for arg; do
echo "$arg"
done
}
f 'hello world' 'second arg' '3rdarg'
但是我何时将hello world
second arg
3rdarg
分配给某个变量,然后出错:
$@
function f() {
local args="$@"
for arg in "$args"; do
echo "$arg"
done
}
当我取消引用hello world second arg 3rdarg
时,每个参数都被分成单个单词:
$args
最后,我想知道是否有一种方法来定义像$ @这样的变量。任何回复都将不胜感激。
答案 0 :(得分:4)
您需要使用数组:
function f() {
local args=("$@") # values in parentheses
for arg in "${args[@]}"; do # array expansion syntax
echo "$arg"
done
}