PHP Removing elements from an array
我不熟悉PHP,我需要一个函数,它允许我从数组中删除一个项。
到目前为止,我有:
1 2 3 4 5
| $ab = milk
$ba = apple
$ca = bread
array($ab, $ba, $ca). |
有没有可以从列表中删除$ba的函数或方法?
1 2 3
| I.e if (condition)==true
array_delete ($ab): ($ab, $ba, $ca) |
显然,上面的内容不起作用,也不存在,但我在寻找确实存在的东西。
任何帮助都将得到极大的感谢!
谢谢
- 您是否看到unset php函数…?
- Commusoft,你是在建议数据库MySQL结构吗?谢谢提奥洛迪斯和迪佩什,这两条评论都很有帮助。
您可以尝试以下操作:
1 2 3 4 5 6 7 8 9
| $ab = milk ;
$ba = apple ;
$ca = bread ;
$arr=array($ab, $ba, $ca);
if (in_array($ba, $arr))
{
unset($ba);
} |
希望这能对你有所帮助。
要删除元素,需要获取其索引。http://www.php.net/manual/en/function.array-search.php就是这样做的。
$index = array_search('apple', $array);
而unset()http://php.net/manual/en/function.unset.php将从指定的数组中删除元素。
unset($array[$index]);
也就是说,如果你不知道元素的位置,如果你知道,你可以直接使用
unset($array[1]);
您可以使用foreach循环来完成此操作&unset
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| $ab = 'milk';
$ba = 'apple';
$ca = 'bread';
$array = array($ab, $ba, $ca);
foreach ($array as $key => $value) {
if ($value == 'apple') {
unset($array[$key]);
}
}
print_r($array);
//Outputs : Array ( [0] => milk [2] => bread ) |
- 我们有类似于array_search()的函数,不需要foreach循环。
- @山姆,如果他要查找的值在数组中出现多次?或者如果你不想每次都穿越整个过程?
- 在这个问题的背景下,他/她没有说明是否会有副本。如果你想达到这个目标,你的break;在哪里?在示例中不能同时使用这两种方法,如果它中断并停止遍历,那么它就无法检测到重复项。如果它确实检测到重复,那么它必须遍历整个数组。
- 这个问题的上下文并没有说明很多事情!因此,为什么有5个完全不同的答案,我实际上指的是执行整个横移的arrach_search(),但很好的一点是,可以添加break;,使foreach解决方案更加高效。
使用unset()函数。
例如,
希望对你有帮助。
取消设置需要删除的元素。
总之…
https://www.google.it/search?q=stackoverflow+remove+element+from+array+php&oq=stackoverflow+remove+element+from+array+php&aqs=chrome..69i57j0j69i64.5843j0&sourceid=chrome&ie=utf-8
是的,它有一个功能。它取消设置()。
你可以这样用。
1 2 3 4 5
| $ab = milk ;
$ba = apple ;
$ca = bread ;
$array = array($ab, $ba, $ca); |
然后,如果您想从上面的数组中删除$ba。您只需调用上面的方法,如下所示。