我的列表(@degree)是从SQL命令构建的.SQL中的NVL命令不起作用,测试如下:
if (@degree[$i] == "")
if (@degree[$i] == " ")
if (@degree[$i] == '')
if (@degree[$i] == -1)
if (@degree[$i] == 0)
if (@degree[$i] == ())
if (@degree[$i] == undef)
Run Code Online (Sandbox Code Playgroud)
$ i是for循环中的计数器变量.基本上它通过并从表中获取独特的度数并最终创建("AFA", "AS", "AAS", "", "BS").列表并不总是很长,空元素并不总是在那个位置3.
有人可以帮忙吗?
我想要在for循环期间进行测试,或者在循环完成后对这个空元素进行测试,然后将其替换为单词"OTHER".
谢谢你的一切 - 肯
首先,数组中的第i个元素是$ degree [$ i],而不是@degree [$ i].其次,"=="用于数字比较 - 使用"eq"进行词汇比较.第三,试试if (defined($degree[$i]))
小智 6
保罗所说的一切.而且,如果你需要一个例子:
my @degree = ('AFA', 'AS', 'AAS', '', 'BS');
$_ ||= 'OTHER' for @degree;
print join ' ' => @degree; # prints 'AFA AS AAS OTHER BS'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7151 次 |
| 最近记录: |