如何添加、删除PHP关联数组

如何添加、删除PHP关联数组,第1张

�喾矗�憧梢酝�鄙�鞑⑻畛涫�椤H绻�阏�诖�硎�炙饕��椋�憧赡芟胧褂孟允久��暮��爸煤妥芳釉�兀�鏰rray_push()和array_unshift()函数,但这些函数不能 *** 作关联数组。 2、删除数组元素 如果要从数组中删除一个元素,请使用unset()函数, 使用数字索引数组时,删除数组元素的办法更多,更灵活,可以使用array_shift()和array_pop()函数分别从数组的开头和末尾删除一个元素。 3、交换键和值 假设你想创建一个名叫$states的新数组,使用州府作为索引,使用州名作为关联值,使用array_flip()函数很容易完成这个任务。 4、合并数组 假设前面的数组由一个基于Web的“FlashCard”服务使用,你想提供一种方法测试学生对美国各州首府的掌握情况,你可以使用array_merge()函数合并包含州和首府的数组。 5、编辑数组值 假设在数组中的数据包含大小写错误,在插入到数据库之前,你想纠正这些错误,你可以使用array_map()函数给每个数组元素应用一个回调。 6、按键对数组排序 FlashCard程序常常使用各种排序,如按字母顺序排序,你可以使用ksort()函数按键对关联数组进行排序。因为数组是通过参数传递给ksort()函数的,意味着你不再需要将排序结果分配给另一个变量。 7、随机数组排序 在FlashCard程序中还涉及到另一种随机排序技术,这时你要使用shuffle()函数实现数组项目的随机排序。如果不需要打乱数组顺序,你只是想随机选择一个值,那么使用array_rand()函数即可。 8、确定键和值是否存在 你可以使用in_array()函数确定一个数组元素是否存在。 9、搜索数组 你可能想搜索数组资源,这样用户就可以方便地用一个特定的州府检索关联的州,可以通过array_search()函数实现数组搜索。 10、标准PHP库 标准PHP库(Standard PHP Library,SPL)为开发人员提供了许多数据结构,迭代器,接口,异常和其它以前PHP语言没有的功能,使用这些功能可以通过面向对象的语法遍历数组。

1、添加元素

函数:push(para),参数说明para要添加的元素

示例:

var lang = ["php","java","javascript"]

lang.push('.net')

结果:lang = ["php","java","javascript",".net"]

2、删除和替换元素

函数:splice(para1,para2,para3),参数说明para1其实位置(从0开始),para2要删除的元素个数,para3(可选)要替换的元素

示例:

a、删除

var lang = ["php","java","javascript"]

lang.splice(0,1)

结果:lang = ["java","javascript",".net"]

b、替换

var lang = ["php","java","javascript"]

lang.splice(0,1,'.net')

结果:lang = [".net","javascript",".net"]

java数组插入实现思路:

可以把某个整数插入到整型数组的特定位置,数组中原有元素向后移动

删除方法:能够从整形数组中特定位置删除掉一个元素,数组中原有元素向前移动

程序代码:

InsertDelete.java:

package p1

import com.kettas.common.*

import java.util.*

public class InsertDelete

{

 static int[] a={4,2,7,3,5}//初始数组

 static int sum=5//数组的有效位数

 public static void main(String[] args)

 {  

  System.out.println("初始数组为:")

  output()

  while(true)

  {

    System.out.println(" *** 作:1:插入;2:删除;3:退出")

    int option=SystemIn.readInt()

    if(option==1)

    {

       System.out.println("请输入插入的位置:")

       int pos=SystemIn.readInt()

       System.out.println("请输入要插入的数:")

       int num=SystemIn.readInt()

       add(pos,num)

       System.out.println("插入后的数组为:")

       output()

    }

    else if(option==2)

    {

       System.out.println("请输入要删除的数的位置:")

       int pos1=SystemIn.readInt()

       move(pos1)

       System.out.println("删除后的数组为:")

       output()

    }

    else 

       break

   }

  }

static void add(int pos,int num)

 {  //将num插入到数组的第pos下标中,其他元素向后移动

  if(sum == a.length)

  {     // 扩充数组空间

   a=Arrays.copyOf(a,a.length*2) 

  }

  for(int i=sumi>posi--)

  {

   a[i]=a[i-1] 

  }

  a[pos]=num

  sum++  //有效位数加1

 }

 

 static void move(int pos)

 {  //删除数组中下标为pos的元素

  sum--  //有效位数减1

  for(int i=posi<sumi++) 

  {

   a[i]=a[i+1]

  }  

 }

 

 static void output()

 {   // 遍历输出数组中的元素

  for(int i=0i<sumi++)

  {

   System.out.print(a[i]+" ")

  }

  System.out.println()

 }

}

测试结果:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11950178.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存