如何从PHP的数组中删除值?
2022-08-30 22:56:33
是否有 PHP 函数可以从数组中删除某些数组元素?
例如,我有一个数组()带有值,另一个数组()需要从中删除值。A
B
想要从数组中删除数组中的值?A
B
是否有 PHP 函数可以从数组中删除某些数组元素?
例如,我有一个数组()带有值,另一个数组()需要从中删除值。A
B
想要从数组中删除数组中的值?A
B
使用 array_diff()
$new_array = array_diff($arrayB, $arrayA);
将返回一个数组,其中包含不在 中的所有元素。$arrayB
$arrayA
要使用关联数组执行此操作,请使用 array_diff_assoc()。
要删除单个值,请使用:
unset($array[$key]);
当然,您可以循环它来执行数组函数的等效操作,但这毫无意义。
这取决于您所说的“删除”是什么意思。
您可以使用 unset() 函数从数组中删除键,但这不会重新索引它。例如,如果您有:
$a = array(1 => 'one', 2 => 'two', 3 => 'three');
然后您致电
unset($a[2]);
你最终会得到类似的东西
(1 => 'one', 3 => 'three');
如果需要按顺序索引数组,则可以获取未放置的数组并将其馈送到 array_values() 中,这将返回一个具有按顺序索引键的新数组。
回到您的原始方案,正如其他人所观察到的那样,array_diff将为您完成工作,但请注意,它不会执行索引检查。如果需要,请改用array_diff_assoc。