试图取消设置数组项。其中包括“列表”一词。我尝试了一些方法,但是没有解决。我想我的代码中必须做错了...
数组是:
[0]=>
string(41) "http://www.sumitomo-rd-mansion.jp/kansai/"
[1]=>
string(43) "http://www.sumitomo-rd-mansion.jp/hokkaido/"
[2]=>
string(41) "http://www.sumitomo-rd-mansion.jp/tohoku/"
[3]=>
string(62) "http://www.sumitomo-rd-mansion.jp/sp/list.html?area=areaKansai"
[4]=>
string(64) "http://www.sumitomo-rd-mansion.jp/sp/list.html?area=areaHokkaido"
[5]=>
string(62) "http://www.sumitomo-rd-mansion.jp/sp/list.html?area=areaTohoku"
尝试删除包含“列表”字词的项目,因此我尝试了此操作。
$needle = "list";
if (($index = array_search($needle, $allArea)) !== false) {
unset($allArea[$index]);
}
但是它仍然返回所有项目...如何修复代码?
答案 0 :(得分:5)
这里的问题是array_search()
正在将每个字符串条目与IEnumerable<string> GetFilesSlash(string dirname)
=> Directory.GetFiles(dirname.Replace('/', Path.DirectorySeparatorCharacter)).Select((p) => p.Replace(Path.DirectorySeparatorChar, '/'));
进行比较
$needle
这意味着除非输入实际上是“ needle”,否则您将永远不会获得比赛。即使匹配,也只会返回找到的第一条目。
您可能会发现filter操作更成功
$url == $needle