数组元素的添加、删除、定位、遍历

一、添加 & 删除

在数组头添加元素

int array_unshift( array array, mixed variable [mixed variable...])
array_unshift()函数在数组头添加元素。所有已有的数值键都会相应的修改,以反映其在数组中的新位置,但是关联键不受影响。

下面的例子在$states 数组前端添加了两个州:

$states = array("Ohio", "New York");
array_unshift($states, "California", "Texas");
// $states = array("California", "Texas", "Ohio", "New York");

在数组尾添加元素

int array_push( array array, mixed variable [,  mixed variable...]);
添加新的值后返回数组中的元素总数。同时通过将这个变量作为输入参数传递给此函数,向数组压入多少个变量(元素)。

从数组头删除元素

mixed array_shift(array array)
删除并返回数组中找到的第一个元素。如果使用的是数值键,则所有相应的值都会下移,而使用关联键的数组不受影响。

从数组尾删除元素

mixed array_pop(array array)
删除并返回数组的最后一个元素。



二、定位数组


搜索数组

1. 搜索数组

in_array()函数在数组中搜索一个特定值,如果找到这个值返回TRUE,否则返回FALSE。
boolean in_array(mixed needle, array haystack [, boolean strict])
第三个参数strict可选,它强制in_array()在搜索时考虑类型。

2. 搜索关联数组键

boolean array_key_exists( mixed key, array array)
在一个数组中找到一个指定的键,找到返回TRUE,否则返回FALSE。

3. 搜索关联数组值

mixed array_search( mixed needle, array haystack [, boolean strict])
在一个数组中搜索一个指定的值,如果找到则 返回相应的键,否则返回FALSE。

注:以上同样适用于索引数组。



获取数组值、键

1. 获取数组键

array array_keys(array array [, mixed search_value [, boolean preserve_keys]])
该函数返回一个数组,其中包含所搜索数组中找到的所有键。如果包含可选参数search_value,则只会返回与该值匹配的键。若将可选参数preserve_keys设置为TRUE,则会在返回的数组中保持数组值对应的键。

2. 获取数组值

array array_values(array array)
返回一个数组中的所有制,并自动为返回的数组提供数值索引。



三、遍历数组

1. 获取当前数组键

mixed key(array array)
返回数组中当前指针所在位置的键。

2. 获取当期数组值

mixed current(array array)
返回数组中当前指针所在位置的数组值。

3. 获取当前数组键和值

array each(array array)
返回数组当前键值对,并将指针推进一个位置。
返回的数组包含4个键,键0和key包含键名,键1和vaule包含相应的数据。
如果指向each()前指针位于数组末尾,则返回false。

4. 移动数组指针

a.将指针移动到下一个数组位置
mixed next(array array)
返回紧接着放在当前数组指针下一个位置的数组值。

b.将指针移动到前一个数组位置
mixed prev(array array)
返回当前指针前一个位置的数组值,如果指针本来就位于数组的第一个位置,则返回FALSE。

c.将指针移动到第一个数组位置
mixed reset(array array)


d.将指针移动到第一个数组位置
mixed end(array array)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: C语言中的二维数组是一个由多个一维数组组成的数组,可以通过行和列来访问数组元素。对于一个n行m列的二维数组,可以使用以下语句来定义: ```c int arr[n][m]; ``` 其中,arr是数组名,n是行数,m是列数,int是数据类型。 下面是二维数组的增删改查操作: ### 增加操作 对于一个已经定义好的二维数组,可以通过下标来增加元素。假设要在第i行第j列增加一个元素,可以使用以下语句: ```c arr[i][j] = value; ``` 其中,value是要增加的元素值。 ### 删除操作 C语言中的二维数组大小是固定的,不支持删除操作。如果需要删除某个元素,可以把它的值设置为一个特殊值,比如0或者-1,表示这个位置的值已经被删除。 ### 修改操作 对于一个已经存在的元素,可以通过下标来修改它的值。假设要修改第i行第j列的元素值,可以使用以下语句: ```c arr[i][j] = new_value; ``` 其中,new_value是新的元素值。 ### 查找操作 对于一个二维数组,可以通过下标来访问特定位置的元素。假设要查找第i行第j列的元素值,可以使用以下语句: ```c int value = arr[i][j]; ``` 其中,value就是第i行第j列的元素值。如果需要遍历整个二维数组,可以使用嵌套的for循环来实现。例如,下面的代码遍历一个3行4列的二维数组arr: ```c int i, j; for (i = 0; i < 3; i++) { for (j = 0; j < 4; j++) { int value = arr[i][j]; // 处理value的值 } } ``` ### 回答2: C语言中二维数组的增删改查操作如下: 增加操作:二维数组的增加主要是在已有的数组中增加新的元素。我们可以通过给已存在的元素重新赋值来增加元素。例如,要在二维数组a中增加一个元素,可以通过a[i][j] = value来实现,其中i是行的索引,j是列的索引,value是待插入的值。 删除操作:删除二维数组中的元素可以通过将特定位置的值设置为0或者其他标识符来实现。例如,要删除二维数组a中的一个元素,可以通过a[i][j] = 0来实现,其中i是行的索引,j是列的索引。需要注意的是,在删除元素后,可能需要对数组进行重新排列,以保持数组的连续性。 修改操作:修改二维数组中的元素可以通过给特定位置的值重新赋值来实现。例如,要修改二维数组a中的一个元素,可以通过a[i][j] = newValue来实现,其中i是行的索引,j是列的索引,newValue是要修改的值。 查询操作:查询二维数组中的元素可以通过访问特定位置的值来实现。例如,要查询二维数组a中的一个元素,可以通过访问a[i][j]来获取值,其中i是行的索引,j是列的索引。 需要注意的是,二维数组的索引是从0开始的,并且需要保证访问的索引在数组范围内,即0<=i<行数,0<=j<列数。同时,二维数组的行数和列数是固定的,一旦定义后就无法再改变。 ### 回答3: C语言中,二维数组是由多个一维数组组成的,可以通过行和列来定位其中的元素。对于二维数组的增删改查操作如下: 增加元素: 要增加元素,需要在已有的二维数组添加一行或一列。具体操作如下: 1. 对于添加行的操作,可以通过扩展原有数组的大小,然后将新元素赋值给新增的行。 2. 对于添加列的操作,可以通过扩展原数组的大小,然后将新元素赋值给新增的列。 需要注意保持数组的大小和结构的一致性。 删除元素: 要删除元素,需要将其对应的行或列删除,具体操作如下: 1. 对于删除行的操作,可以将要删除的行的后面的所有行向上移动,以覆盖要删除的行,然后减小数组的大小。 2. 对于删除列的操作,可以将要删除的列后面的所有列向左移动,以覆盖要删除的列,然后减小数组的大小。 同样,需要注意保持数组的大小和结构的一致性。 修改元素: 要修改元素,可以直接通过二维数组的下标来定位到要修改的元素,并将其新值赋给它。 查询元素: 要查询元素,可以通过二维数组的下标来定位到要查询的元素,并返回其值。 需要注意,由于C语言的数组下标是从0开始的,所以在进行增删改查操作时,要注意下标合法性,避免越界访问造成程序错误。此外,对于多维数组的操作,要确保数组的维度和大小的正确性,以免导致计算错误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值