Unset只删除php Unset()方法的第一个结果
我不确定这是不是一个愚蠢的问题,但找不到任何东西,主要是因为我不知道如何表达它 我有一个数组Unset只删除php Unset()方法的第一个结果,php,Php,我不确定这是不是一个愚蠢的问题,但找不到任何东西,主要是因为我不知道如何表达它 我有一个数组 $array1 = array(apple, orange, orange, apricot, melon, watermelon); 如果我做了unset(橙色)两个条目都将取消设置(duh!) 是否有另一个功能只删除一个橙色条目??这样我就可以 $result = array(apple, orange, apricot, melon, watermelon); 编辑:原来错误在别处。谢谢大家的
$array1 = array(apple, orange, orange, apricot, melon, watermelon);
如果我做了unset(橙色)代码>两个条目都将取消设置(duh!)
是否有另一个功能只删除一个橙色条目??这样我就可以
$result = array(apple, orange, apricot, melon, watermelon);
编辑:原来错误在别处。谢谢大家的帮助
如果我是一个乞丐,我会删除这个问题锁吗?或者它会发生什么:D
$array1 = array(apple, orange, orange, apricot, melon, watermelon);
$array2 = array(apple, orange, apricot, melon, watermelon);
$array3 = array(apple, apricot, melon, watermelon);
function unset_first_occ ($array, $val) {
foreach ($array as $key => $value) {
if ($value == $val) {
unset ($array[$key]);
break;
}
}
}
unset_first_occ (&$array1, 'orange');
unset_first_occ (&$array2, 'orange');
unset_first_occ (&$array3, 'orange');
var_dump($array1);
var_dump($array2);
var_dump($array3);
结果:
array(5) {
[0]=>
string(5) "apple"
[2]=>
string(6) "orange"
[3]=>
string(7) "apricot"
[4]=>
string(5) "melon"
[5]=>
string(10) "watermelon"
}
array(4) {
[0]=>
string(5) "apple"
[2]=>
string(7) "apricot"
[3]=>
string(5) "melon"
[4]=>
string(10) "watermelon"
}
array(4) {
[0]=>
string(5) "apple"
[1]=>
string(7) "apricot"
[2]=>
string(5) "melon"
[3]=>
string(10) "watermelon"
}
结果:
array(5) {
[0]=>
string(5) "apple"
[2]=>
string(6) "orange"
[3]=>
string(7) "apricot"
[4]=>
string(5) "melon"
[5]=>
string(10) "watermelon"
}
array(4) {
[0]=>
string(5) "apple"
[2]=>
string(7) "apricot"
[3]=>
string(5) "melon"
[4]=>
string(10) "watermelon"
}
array(4) {
[0]=>
string(5) "apple"
[1]=>
string(7) "apricot"
[2]=>
string(5) "melon"
[3]=>
string(10) "watermelon"
}
您可以使用unset[$array[1]);
从数组中删除特定元素。您可以使用unset[$array[1]);
从数组中删除特定元素。无需使其复杂化。如果要从数组中删除重复值,请使用array\u unique
。请参见此
<?php
$array1 = array(apple, orange, orange, apricot, melon, watermelon);
$result = array_unique($array1);
print_r($result);
?>
如果要从此数组中删除“橙色”,请使用以下命令
<?php
$array1 = array(apple, orange, orange, apricot, melon, watermelon);
$key = array_search('orange', $array1); // $key
unset($array1[$key]);
print_r($array1);
?>
无需使其复杂化。如果要从数组中删除重复值,请使用array\u unique
。请参见此
<?php
$array1 = array(apple, orange, orange, apricot, melon, watermelon);
$result = array_unique($array1);
print_r($result);
?>
如果要从此数组中删除“橙色”,请使用以下命令
<?php
$array1 = array(apple, orange, orange, apricot, melon, watermelon);
$key = array_search('orange', $array1); // $key
unset($array1[$key]);
print_r($array1);
?>
您可以使用array\u search
查找第一次出现橙色的键,然后使用array\u search
返回的键取消设置
$fruits = ['apple', 'orange', 'orange', '...'];
$indexOfOrange = array_search("orange", $fruits);
if (false !== $indexOfOrange) {
unset($fruits[$indexOfOrange]);
}
您可以使用array\u search
查找第一次出现橙色的键,然后使用array\u search
返回的键将其取消设置
$fruits = ['apple', 'orange', 'orange', '...'];
$indexOfOrange = array_search("orange", $fruits);
if (false !== $indexOfOrange) {
unset($fruits[$indexOfOrange]);
}
unset(橙色)
在本例中没有任何意义。您只是在寻找array\u unique()
?不,array\u unique
不会删除橙色,如果它是唯一的oneNo,则不会删除。那么逻辑是什么?您想只删除一个橙色吗?如果有两个橙色,我想删除一个,如果有一个橙色,我想删除该橙色unset(橙色)
在本例中毫无意义。您只是在寻找数组_unique()
?不,array\u unique
不会删除橙色,如果它是唯一的oneNo,它不会删除。那么逻辑是什么?您想删除一个橙色吗?如果有两个橙色,我想删除一个,如果有一个橙色,我想删除一个。这就是我正在做的,但是orange
条目是100%相同的颜色,您可以使用unset($array[“orange”];
因此您不必记住数组position@swiss_bladeorange
不是此数组中的键,因此无法使用。你是对的@deceze,我只键入了一半的想法!我还想说,为了只删除一个“orange”实例,alexandros必须使用键…这就是我所做的,但是orange
条目是100%相同的,您可以使用unset($array[“orange”]);
这样您就不必记住数组position@swiss_bladeorange
不是此数组中的键,因此无法使用。你是对的@deceze,我只键入了一半的想法!我还想说,为了只删除一个“orange”实例,alexandros必须使用键…完全正确,我相应地更改了代码。感谢您,这正是我正在做的,unset(橙色)
的意思是unset(数组[key])
但由于我的懒惰,我简化了它。但是看到你的答案,我突然想到,我的数组中可能没有两个桔子。完全正确,我相应地改为代码。谢谢,这正是我正在做的,unset(orange)
的意思是unset(array[key])
但由于我的懒惰,我简化了它。但是看到你的答案,我突然想到,我的数组中可能没有两个桔子……我不想删除重复的entries,你只想删除那个桔子??我不知道桔子的位置,如果我搜索数组中的桔子并获得位置离子未设置(阵列[orangePos])出于某种原因,两个条目都被取消设置。我很欣赏你的坚持:P这就是我正在做的,但出于某种原因,两个橙色都被删除了。要么实际上有一个橙色,而我的其余代码是错误的,要么两个条目都是相同的,即具有相同的键和值我不想删除重复的条目。你只想删除那个橙色吗?我想如果我在数组中搜索橙色并得到未设置的位置(数组[orangePos]),我也不知道橙色的位置由于某种原因,两个条目都被取消设置。我欣赏你的坚持:P这就是我正在做的,但由于某种原因,两个桔子都被删除了。要么实际上有一个桔子,我的其余代码是错误的,要么两个条目都相同,即具有相同的键和值看着所有答案都相同,我的桔子有可能是10吗0%相同?具有相同的id和值??因为我正在这样做,但两个橙子都被删除。没有理由让它们“相同”。我只是使用了与您提供的声明数组完全相同的代码,我这边的代码运行良好。如果您在尝试删除任何内容之前卸载数组,它是否会分别显示两个桔子?如果是这样,它们不会被视为完全相同,并且无论发生什么情况,都应该按键取消设置。是的,但这是一个示例,实际代码非常庞大:)。Bas实际上,数组是您选择添加到购物车中的任何项目。它还有一个功能,可以一次添加2xOranges,而不是单击两次,这可能会导致重复出现oranges。我仍然需要看穿我猜的代码。我是第三个看完它的开发人员吗..!如果所有答案都相同,是否存在错误我的橙子可能100%完全相同?具有相同的id和值??因为我正在这样做,但两个橙子都被移除。没有理由让它们“相同”.我刚刚使用了与您声明数组时使用的代码完全相同的代码,在我这方面效果很好。如果您在尝试删除任何内容之前先转储数组,它是否会显示两个橙色分隔符