【问题标题】:how to remove multiple elements by index from a multidimensional array?如何通过索引从多维数组中删除多个元素?
【发布时间】:2017-03-25 11:50:53
【问题描述】:

我有一个这样的多维数组

 $state=array(array('state'=>t,'capital=>'y'),array('state'=>'p','capital'=>'q'),array('state'=>,'l','capital'=>'s'),array('state'=>'g','capital=>'h'));

我需要通过从这个数组中以随机顺序删除一个或多个索引来形成一个子数组,比如说 $state[1],$state[3] 输出是

  $new_state=array(array('state'=>t,'capital=>'y'),array('state'=>'g','capital=>'h'));

有什么直接的函数可以实现吗?

【问题讨论】:

  • 显示您的预期结果

标签: php arrays slice


【解决方案1】:

您的第一个数组 3 元素索引,例如 0,1,2。使用unset() 通过数组索引删除数组元素,如unset($state[1]) 或更多...现在数组索引为02。它没有序列化。为了检索正确的索引序列,使用array_values()。现在最终的数组索引是0,1

<?php                  
$state=array(array('state'=>'t','capital'=>'y'),array('state'=>'p','capital'=>'q'),array('state'=>'g','capital'=>'h'));

unset($state[1]);
$new_array = array_values($state);;
print_r($new_array);
?>

【讨论】: