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

2018-12-29  本文已影响1人  CoderZb

一、数组元素增加

数组尾部增加元素

$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()函数删除某个元素,原有索引值不变,索引值不连续。
$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"
}

 $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()函数删除多个元素,原有索引值不变,索引值不连续。
$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"
}
$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都不存在了。

上一篇 下一篇

猜你喜欢

热点阅读