找回密码
 加入
搜索
查看: 1989|回复: 5

[AU3基础] 请问如何检查数组数据为空?[已解决]

[复制链接]
发表于 2011-11-19 14:41:44 | 显示全部楼层 |阅读模式
本帖最后由 tsys 于 2011-11-19 15:52 编辑

如题,如果发现数组元素内没有数据,就删除该数组元素
For $i = 1 To UBound($aRecords)
        If $aRecords[$i] = "" Then
                _ArrayDelete ($aRecords,$i)
                _ArraySort ($aRecords,0,0,0,0)
                EndIf
我是这样做的,可是没有效果,请各位朋友指教
发表于 2011-11-19 15:27:02 | 显示全部楼层
IsArray 函数可以判断某个变量是否是数组

你上面代码,没有效果的真正原因在于,删除数组元素后,数组的下标也跟着改变了。
 楼主| 发表于 2011-11-19 15:31:31 | 显示全部楼层
回复 2# user3000

如果是和数组下表有关系,那么UBound($aRecords) -1 在下次循环的时候不是自动改变的么?
发表于 2011-11-19 15:36:55 | 显示全部楼层
代码不完整
发表于 2011-11-19 15:43:55 | 显示全部楼层
本帖最后由 tryhi 于 2011-11-19 15:46 编辑

好吧,贴个代码给你吧,问题中代码不清楚,通常不回答
#include <Array.au3>
Dim $aRecords[10] = ['', 52, '', '', '', 656, 14, 1, '', 11]
_ArrayDisplay($aRecords)
$j = 0
For $i = 0 To UBound($aRecords)-1
        If $aRecords[$j] = "" Then
                _ArrayDelete($aRecords, $j)
                $j -= 1
        EndIf
        $j += 1
Next
_ArrayDisplay($aRecords)
 楼主| 发表于 2011-11-19 15:52:10 | 显示全部楼层
回复 5# tryhi


    多谢海兄
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-10-1 07:30 , Processed in 0.119922 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表