数组元素的剔除
从数组中去除某个值 假设键值都唯一
比如从打乱的1到10的数组中 去除6
如何书写代码呢?
1.最笨的方法 循环遍历 遇到就删除 然后立刻返回(这一步如果不加 后面将造成没有必要的循环)
<?php // 1.循环遍历 遇到6进行删除并返回 $array=range(1,10); shuffle($array);//打乱了结构 foreach ($array as $key => $v) { if($v==6) { unset($array[$key]); break; } } var_dump($array); ?>
截图如下:
效果如下:
2.利用数组的查找功能 查到6所在的key然后删除
<?php // 2.查找6所在的键值对 $array=range(1,10); shuffle($array);//打乱了结构 $find_key=array_search(6,$array); if($find_key!==false) { unset($array[$find_key]); } var_dump($array); ?>
截图如下:
效果如下:
3.逆向思维方法 键值反转删除键然后再反转
<?php // 3.键值反转逆向思维 $array=range(1,10); shuffle($array);//打乱了结构 $array=array_flip($array); unset($array[6]); $array=array_flip($array); var_dump($array); ?>
截图如下:
效果如下: