美文网首页
PHP 数组各种操作:增、删、改

PHP 数组各种操作:增、删、改

作者: CoderZb | 来源:发表于2018-12-29 12:16 被阅读1次

一、数组元素增加

数组尾部增加元素

  • 代码如下:
$all_array = array();
array_push($all_array,1,2,3); 
dump($all_array);

或者

 $all_array = array();
 array_push($all_array,1,2,3); 
 $all_array[] = 1;
 $all_array[] = 2;
 $all_array[] = 3;
 dump($all_array);
  • 打印结果如下:
array(3) {
  [0] => int(1)
  [1] => int(2)
  [2] => int(3)
}

数组头部添加增加

  • 代码如下:
$all_array = ['jianshu', 'CoderZB'];
array_unshift($all_array, 'My', 'Information:');
dump($all_array);
  • 打印结果
array(4) {
  [0] => string(2) "My"
  [1] => string(14) "Information:"
  [2] => string(7) "jianshu"
  [3] => string(7) "CoderZB"
}

二、数组元素修改

数组元素value的修改

  • 代码如下:
$all_array = ['jianshu', 'CoderZB'];
$all_array[0]='MyInfo:';
dump($all_array);
  • 打印结果
array(2) {
  [0] => string(9) "MyInfo:"
  [1] => string(7) "CoderZB"
}

数组元素key的修改(利用foreach遍历)

  • 代码如下:
 $all_array =array(
        'userName' =>'CoderZb',
        'platform' =>'jianshu',
        'feature' =>'Willing to share',
 );
 foreach ($all_array as $v=>$k){
     $all_array['characteristic'] =$all_array['feature'];// 见characteristic这个key修改成feature
 }
     unset($all_array['feature']);// unset()函数销毁数组中的feature字段。
     dump($all_array);
  • 打印结果:
array(3) {
  ["userName"] => string(7) "CoderZb"
  ["platform"] => string(7) "jianshu"
  ["characteristic"] => string(16) "Willing to share"
}

三、数组元素的删除

删除单个元素

要求:删除单个元素并使索引连续。

  • 做法一:unset()函数删除某个元素,原有索引值不变,索引值不连续。但是再使用array_values()函数对索引重新排序,就能达到要求了
  • 代码如下:
// unset()函数删除某个元素,原有索引值不变,索引值不连续。
$all_array = array(0 => "Info", 1 => "jianshu", 2 => "CoderZB");
unset($all_array[1]);
dump($all_array);
// array_values()索引重新排序,这样索引就是连续的了。
$all_array = array_values($all_array);
dump($all_array);
  • 打印结果:
array(2) {
  [0] => string(4) "Info"
  [2] => string(7) "CoderZB"
}
array(2) {
  [0] => string(4) "Info"
  [1] => string(7) "CoderZB"
}

  • 做法二:array_splice()函数删除某个元素,索引值连续。
  • 代码如下:()
 $all_array = array(0 => "Info", 1 => "jianshu", 2 => "CoderZB");
 array_splice($all_array, 2, 1);// 删除索引为2,长度为1的元素。
 dump($all_array);
  • 打印结果
array(2) {
  [0] => string(4) "Info"
  [1] => string(7) "jianshu"
}

删除多个元素

要求:删除多个元素并使索引连续。

  • 做法一(既可以删除数组中连续的元素,也可以删除数组中不连续的元素。这里为了突出做法一的作用,删除多个不连续的元素):array_diff()函数删除多个元素,原有索引值不变,索引值不连续。但是再使用array_values()函数对索引重新排序,就能达到要求了。
  • 代码如下:
// array_diff()函数删除多个元素,原有索引值不变,索引值不连续。
$all_array = array(0 => "Info", 1 => "jianshu", 2 => "CoderZB",3 => "enjoy",4 => "reading");
$all_array = array_diff($all_array, ["Info", "enjoy"]);
dump($all_array);
// array_values()索引重新排序,这样索引就是连续的了。
$all_array = array_values($all_array);
dump($all_array);
  • 打印结果
array(3) {
  [1] => string(7) "jianshu"
  [2] => string(7) "CoderZB"
  [4] => string(7) "reading"
}
array(3) {
  [0] => string(7) "jianshu"
  [1] => string(7) "CoderZB"
  [2] => string(7) "reading"
}
  • 做法二:array_splice()函数删除多个元素,索引值连续。
  • 代码如下:
$all_array = array(0 => "Info", 1 => "jianshu", 2 => "CoderZB",3 => "enjoy",4 => "reading");
array_splice($all_array, 1, 2);
dump($all_array);
  • 打印结果
array(3) {
  [0] => string(4) "Info"
  [1] => string(5) "enjoy"
  [2] => string(7) "reading"
}

清空数组

  • 代码如下:
$all_array = array(0 => "Info", 1 => "jianshu", 2 => "CoderZB",3 => "enjoy",4 => "reading");
 unset($all_array);

没法打印,因为$all_array都不存在了。

相关文章

网友评论

      本文标题:PHP 数组各种操作:增、删、改

      本文链接:https://www.haomeiwen.com/subject/gyvclqtx.html