styledream 发表于 2017-3-1 01:05:19

请问如何检查出数组中有重复的数值

有一个ini的配置文件,里边内容如下
请问如何通过数组的方式检查出“昵称”这一项有重复的数值



昵称=ming
姓名=小明
省份=广东
地区=广州

昵称=huang
姓名=小黄
省份=广东
地区=深圳

昵称=hong
姓名=小红
省份=广东
地区=茂名

昵称=ming
姓名=小东
省份=广东
地区=佛山

Alam 发表于 2017-3-1 13:10:01

不会处理文本,那就先读取文件到数组, _FileReadToArray($sFilePath, ByRef $aArray)
再用数组函数去掉重复项 _ArrayUnique

styledream 发表于 2017-3-1 16:30:08

回复 2# Alam

谢谢兄弟,我用的是 _ArraySearch()函数,和你提供的方法一样
只能全局查找重复项,无法单一检查出‘昵称’的重复项

chzj589 发表于 2017-3-2 12:41:18

回复 1# styledream

heroxianf 发表于 2017-3-2 12:48:40

看具体需要什么东西,可以针对昵称或者其他参数写个自定义函数对比。

kk_lee69 发表于 2017-3-3 15:45:30

回复 3# styledream

FOR

NEXT

lxwlxwayy 发表于 2017-3-4 22:22:16

#include <Array.au3>

Local $avArray =
Local $aiResult = _ArrayFindAll($avArray, 0)
_ArrayDisplay($avArray, "$avArray")
_ArrayDisplay($aiResult, "搜索数组($avArray)中包含 0 的结果")

h20040606 发表于 2017-3-5 06:07:35

你这个INI不是标准的

lxwlxwayy 发表于 2017-3-5 08:29:45

#include <Array.au3>
Local $adday
$var = IniReadSection("myfile.ini", "Infomation")
If @error Then
    MsgBox(4096, "", "错误, 读取INI文件失败.")
Else
    For $i = 1 To $var
      ;MsgBox(4096, "", "关键字: " & $var[$i] & @CRLF & "值: " & $var[$i])
                If $var[$i] = "昵称" Then _ArrayAdd($adday,$var[$i])
    Next
EndIf
Local $aiResult = _ArrayFindAll($adday, "ming")
_ArrayDisplay($aiResult, "$var")

jingzhinvr 发表于 2017-4-2 19:56:19

判断试试看
页: [1]
查看完整版本: 请问如何检查出数组中有重复的数值