_ArraySearch

首页  后退  前进

_ArraySearch

down2

在一维或二维数组中搜索一个值e.

 

_ArraySearch($var_array,$var_value[,$var_istart=0[,$var_iend=0[,$var_icase=0[,$var_compare=0[,$var_iforward=1[,$var_isubitem=-1]]]]]])

 

参数

$var_array

数组搜索

$var_value

值在数组e中搜索(默认情况下完全匹配单元格的内容)

$var_istart

[可选] 索引数组a,从中开始搜索

$var_iend

[可选] 索引数组,并完成搜索

$var_icase

[可选] 案例灵敏度

  0 - (默认)搜索不区分大小写

  1 -区分大小写的搜索

$var_compare

[可选]

  0 - (默认)与这一个型相比,如$var_icase = 0,这些值将是巧合: "字符串"= 0 "" 0 =或 "0"= 0

  1 - 部分匹配,所需的字符串可以是包含在单元格中的字符串的一部分a(StringInStr)

  2 - 当比较时,考虑一个变量类型与VarGetType的匹配

$var_iforward

[可选] 如果设置为0,则从数组e开始(而不是从头到尾)

$var_isubitem

[可选] 用于在二维数组中搜索的列的索引e

返回值

成功:

返回第一个找到的索引数组a,其中找到$vValue值

错误:

返回-1,集@error:

@error:

1 - $var_array不是数组om


2 - 数组$var_array不是一维或二维数组om


4 - $var_istart大于$var_iend


6 - 在数组中找不到值$var_value e


7 - 数组a $var_array的维数超过两个

 

该函数可以通过命令调用 exect

参见:

_ArrayFindAll

例子

copy

exect=$var_aa=StringSplit('AAA|BBB|CCC|DDD|EEE|FFF','|',2)||_ArrayDisplay($var_aa)||$var_ii=_ArraySearch($var_aa,'DDD')||MsgBox(4096,'Результат','$var_ii') ;; 找到短语"DDD"所在的小区索引的示例

 

exect=$var_a=StringSplit('%%COMMANDER_PATH%%\Bar\000_TCIMG_Test.bar|%%COMMANDER_PATH%%\Bar\084_AU3.bar|%%COMMANDER_PATH%%\Bar\000_TCIMG_Test_Exe.bar','|')||$var_si=EnvGet('COMMANDER_PATH')&'\WinButtonBar.ini'||$var_sb=IniRead('$var_si','Buttonbar','Buttonbar','''')||$var_i=Number(_ArraySearch($var_a,'$var_sb')+1)||$var_i=($var_i>3~~Or~~$var_i=0)?1:$var_i||IniWrite('$var_si','Buttonbar','Buttonbar','$var_a[$var_i]')||IniWrite('$var_si','Buttonbar','Buttonbar',Execute('$var_a[$var_i]')) ;; 将WinButtonBar.ini中的一个圆圈中的3个预定义的.bar路径之一写入[Buttonbar]部分

up2

tcimage © Аверин Андрей для Total Commander Image Averin-And@yandex.ru