删除数组的常用索引

Jac*_*ish 7 php arrays

我有一些索引需要从主数组中删除.例如:

$removeIndex=array(1,3,6);
$mainArray=array('1'=>'a','2'=>'b','3'=>'c','4'=>'d','5'=>'e','6'=>'f');
Run Code Online (Sandbox Code Playgroud)

我希望最终结果如下:

 $mainArray=array('2'=>'b','4'=>'d','5'=>'e');
Run Code Online (Sandbox Code Playgroud)

我知道我们array_slice在PHP中有功能,可以在循环中运行,但我有非常庞大的数据,我想避免在这里循环.

Eli*_*gem 8

也许试试array_diff_key:

$removeIndex=array(1,3,6);
$mainArray=array('1'=>'a','2'=>'b','3'=>'c','4'=>'d','5'=>'e','6'=>'f');
$removeIndex = array_flip($removeIndex);//flip turns values into keys
echo '<pre>';
//compute diff between arr1 and arr2, based on key
//returns all elements of arr 1 that are not present in arr2
print_r(array_diff_key($mainArray, $removeIndex));
echo '</pre>';
Run Code Online (Sandbox Code Playgroud)

当我尝试这个时,它返回:

Array
(
    [2] => b
    [4] => d
    [5] => e
)

  • @EliasVanOotegem有时间限制,请耐心等待:-) (4认同)