IT天空

 找回密码
 加入我们

手机号码,快捷登录

搜索

[讨论] 如何理解数组插入数据。

[复制链接]
18960601773 发表于 2019-4-25 23:11:47 | 显示全部楼层 |阅读模式

就如何理解数组插入数据的过程我整整看了两个晚上,
现在就将我理解的过程分析如下。如有错误请指教。
我是卡在;自目标位置开始,所有数据向后移动一个元素。
其实在for $i = ubound($a_Array,1) - 1 to $Range + 1 step - 1我就一直想为什么ubound($a_Array,1)为什么后面要减1,这是因为上一行已经使数组增加一个元素。原数组元素数就要现在的数组元素数减1。
在$a_Array[$i] = $a_Array[$i - 1]我又卡主了。其实这里跟前面所学的赋值很有关系。这一行是表示所有数据向后移动一个元素。然而也可以解释为原数组的6号元素值是现在数组的7号元素值。我觉得这样理解,我更容易理解。


       
        ;使数组增加一个元素
        ReDim $a_Array[UBound($a_Array,1) +1]
       
       
        ;自目标位置开始,所有数据向后移动一个元素
        Local $i
        For $i = UBound($a_Array,1) - 1 To $Range + 1 Step - 1
                $a_Array[$i] = $a_Array[$i - 1]
        Next
       
        ;将待插入数据插入目标位置
        $a_Array[$Range] = $Value
       

最近访问 头像模式 列表模式
Skyfree 发表于 2019-4-26 11:02:59 | 显示全部楼层

活跃 247070| 技术 1302| 互助 1665| 钻石 30764

声明一个包含10个元素的数组,数组索引是0~9。UBound检测的是数组上限(10),不是最后一个元素的索引(9)。

点评

收到,谢谢 那我这一行理解错误了。 其实在for $i = ubound($a_Array,1) - 1 to $Range + 1 step - 1我就一直想为什么ubound($a_Array,1)为什么后面要减1,这是因为上一行已经使数组增加一个元素。原数组元素数就  详情 回复 发表于 2019-4-26 18:13
 楼主| 18960601773 发表于 2019-4-26 18:13:41 | 显示全部楼层

活跃 23249| 技术 0| 互助 0| 钻石 50

Skyfree 发表于 2019-4-26 11:02
声明一个包含10个元素的数组,数组索引是0~9。UBound检测的是数组上限(10),不是最后一个元素的索引(9) ...

收到,谢谢
那我这一行理解错误了。
其实在for $i = ubound($a_Array,1) - 1 to $Range + 1 step - 1我就一直想为什么ubound($a_Array,1)为什么后面要减1,这是因为上一行已经使数组增加一个元素。原数组元素数就要现在的数组元素数减1。
这行应该是这样理解的:
ubound函数检测到的是增加一个元素后的10个数,减1是为了得出最大的数组索引。到目标位置加1,步进值为1。
也就是说  i从6到9之间。
qq441225303 发表于 2019-4-29 10:28:37 | 显示全部楼层

活跃 9637| 技术 18| 互助 18| 钻石 330

本帖最后由 qq441225303 于 2019-4-29 10:38 编辑

你这里很多变量没有赋值  但大致也理解到你想表达什么 不过 你还是理解得不够透彻
UBound不一定要-1  取决于你怎么使用
其实所谓的UBound就是获取一个数组的十进制字符串而已
$a_Array[$i] = $a_Array[$i - 1]  其实就是目前的引索单纯的复上一个引索的数据而已
$a_Array[$Range] = $Value     =号 准确的说不是数据插入 而是为变量赋值  在判断语句的时候 则是否相等(不区分大小写)

点评

$a_Array[$i] = $a_Array[$i - 1] 其实就是目前的引索单纯的复上一个引索的数据而已 $a_Array[$Range] = $Value =号 准确的说不是数据插入 而是为变量赋值 在判断语句的时候 则是否相等(不区分大小写) 感  详情 回复 发表于 2019-4-29 23:29
 楼主| 18960601773 发表于 2019-4-29 23:29:06 | 显示全部楼层

活跃 23249| 技术 0| 互助 0| 钻石 50

qq441225303 发表于 2019-4-29 10:28
你这里很多变量没有赋值  但大致也理解到你想表达什么 不过 你还是理解得不够透彻
UBound不一定要-1  取决 ...

$a_Array[$i] = $a_Array[$i - 1]  其实就是目前的引索单纯的复上一个引索的数据而已
$a_Array[$Range] = $Value     =号 准确的说不是数据插入 而是为变量赋值  在判断语句的时候 则是否相等(不区分大小写)

感谢您的解释。
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

18960601773

23249

活跃

0

技术

0

互助
签到任务
最火的业界新闻
  • 内部邮件曝光:高通、Intel、ARM等被要求停
  • 5G高频电磁波对人体的危害很大?张朝阳:没
  • 什么是鼠标加速度?为什么打游戏要关掉?
  • 锤子、美图等小众手机品牌都凉了 一加为什
  • 北京地铁16号线5G信号初体验 结果意想不到
  • 科赋推出全新RGB M.2 SSD:光污染Max 酷炫
  • 华为有哪些“备胎”?这里有一份中国芯片企
  • 三星:西安内存芯片生产线二期投资规模尚未
  • AMD Navi或采用全新架构 预计6月公布
  • 买1级能效空调就是为了省电?你真的错了
炫酷的硬件Show
  • 振华SUPER FLOWER 铜皇450W 铜牌电源
  • 比小更小,Mini-STX装机
  • 华擎X99E-ITX + 银欣ML06 装机记
  • 最强双路泰坦硬管水冷 制作流程
  • 银欣FT02,双路E5工作站
  • 迟到的定制机箱小钢炮清理灰尘
  • 乔思伯UMX1 Plus,小巧的家用综合主机
  • 分体水冷第二弹-Inwin 805 infinity
  • 第一次DIY硬管水冷~~
  • 樱桃MX6.0 青轴 机械键盘 开箱
有趣的美图分享
  • 日本“妻子机器人上市60分钟遭抢空,不要彩
  • 今年的高考很有意义
  • 宅男本质
  • 神助攻
  • 这....这是哪家的手办?
  • 为啥你妈老看你不顺眼?
  • 当一个女人开始减肥……
  • 彩虹屁情话
  • 奇葩
  • 为了自己的角色大家都很努力
关注官方微信
快速回复 返回顶部 返回列表