从数组中去除某个值 假设键值都唯一
比如从打乱的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);
?>
截图如下:
效果如下: