说我有这样的清单
hello1
hello2
hello3
hello4
goodbye
hello6
hello7
hello8
除了再见之外,我如何才能删除goodbye
并打印everything else
?
答案 0 :(得分:4)
像这样使用unset
和array_search
:
$array = array('hello1','hello2','hello3','hello4','goodbye','hello6','hello7','hello8');
if(($key = array_search('goodbye', $array)) !== FALSE)
unset($array[$key]);
这在一个if
语句中做了两件事:
如果$key
的指定值(array_search
的返回值)是真实的,那么继续并将其用作索引,否则,不要做任何事情。
这是必要的,因为如果array_search
的返回值为FALSE
,那么结果将是$array[FALSE]
,这根本不是预期的行为。
答案 1 :(得分:1)
你知道列表中的再见在哪里吗?是你想过滤它的唯一情况再见吗?
在循环中设置if(currentStr != "goodbye"){ do action}
答案 2 :(得分:1)
期待,你真的有一个清单
$x = array('hello1','hello2','hello3','hello4','goodbye','hello6','hello7','hello8');
你只是迭代这个列表并且不输出不需要的条目
foreach ($x as $entry) {
if ($entry != 'goodbye') echo $entry;
}
答案 3 :(得分:1)
在您取消设置之后找到输入密钥array_search 条目
$key = array_search('goodbye', $array);
unset($array[$key]);