BB雷电pk php技术,用于删除一维数组中的值元素

日期:2021-02-17 08:08:24 浏览量: 93

下面的编辑器将共享一个php操作方法凤凰彩票首页 ,用于删除一维数组中的value元素。它具有很好的参考价值,希望对您有所帮助。让我们跟随编辑器看看

1.自己编写一个for循环

从数组中删除元素$ tmp的值

 '321',
'1' => '322',
'2' => '323',
'3' => '324',
'4' => '325',
'5' => '326',
);

代码

foreach( $arr as $k=>$v) {
 if($tmp == $v) unset($arr[$k]);
}
print_r($arr);
?>

此时

Array
(
 [0] => 321
 [1] => 322
 [2] => 323
 [4] => 325
 [5] => 326
)

要重置索引,请添加一个句子

foreach( $arr as $k=>$v) {
 if($tmp == $v) unset($arr[$k]);
}
$arr = array_values($arr);
print_r($arr);
?>

此时的结果

Array
(
 [0] => 321
 [1] => 322
 [2] => 323
 [3] => 325
 [4] => 326
)

array_merge()也可以达到相同的效果

foreach( $arr as $k=>$v) {
 if($tmp == $v) unset($arr[$k]);
}
$arr = array_merge($arr);
print_r($arr);
?>

此时的结果

Array
(
 [0] => 321
 [1] => 322
 [2] => 323
 [3] => 325
 [4] => 326
)

2.最好使用php的内置函数,因为它是用C实现的澳彩官方网站 ,比用自己编写的效率更高。

使用array_search和array_splice,其中array_splice会自动重置序列值。

$key=array_search($tmp ,$arr);
array_splice($arr,$key,1);
var_dump($arr);

此时的结果

Array
(
 [0] => 321
 [1] => 322
 [2] => 323
 [3] => 325
 [4] => 326
)

最佳做法

$arr = array_merge(array_diff($arr, array($tmp)));
var_dump($arr);

结果

Array
(
 [0] => 321
 [1] => 322
 [2] => 323
 [3] => 325
 [4] => 326
)

在这里php删除某个数组元素华体会体育 ,如果数组元素是复杂的数据结构,则也可以实现比较。当然凤凰体育 ,数据本身仍然是一维的。

在上面的示例中,$ tmp是一个值。如果$ tmp是数组或其他复杂的数据结构,请从$ array中删除$ tmp中包含的所有元素php删除某个数组元素,上述方法也有效

$arr = array_merge(array_diff($arr, $tmp));
var_dump($arr);

以上删除一维数组中的value元素的php操作方法是编辑器共享的所有内容,希望给您参考捕鱼平台 ,也希望可以支持php中文网站。