如果项目存在于“禁止使用的单词”数组中,则从数组中删除该项目

2024-01-06

我有一个数组:

Array
(
    [0] => tom
    [1] => and
    [2] => jerry
)

我还有一个不允许的单词数组:

Array
(
    [0] => and
    [1] => foo
    [2] => bar
)

我需要做的是删除第一个数组中也出现在第二个数组中的任何项目,例如,在本例中,需要删除键 1,因为“and”位于不允许的单词数组中。

现在我现在有这段代码,它对不允许的单词执行 foreach,然后使用 array_search 查找任何匹配项:

$arr=array('tom','and','jerry');
$disallowed_words=array('and','or','if');
foreach($disallowed_words as $key => $value) {
    $arr_key=array_search($value,$array);
    if($arr_key!='') {
        unset($search_terms[$arr_key]);
    }
}

现在我知道这段代码很糟糕,我想知道是否有一种更有效的方法从另一个数组中存在的数组中删除和项目,特别是如果它否定使用 foreach 的话。


你要array_diff http://php.net/manual/en/function.array-diff.php.

array_diff返回一个数组,其中包含 所有条目来自array1那是 不存在于任何其他 数组。

所以你想要这样的东西:

$good = array_diff($arr, $disallowed_words);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果项目存在于“禁止使用的单词”数组中,则从数组中删除该项目 的相关文章

随机推荐

  • Gradle 插件 google-services 不适用于 gradle-experimental:0.6.0-alpha7

    我想使用 gradle experimental 0 6 0 alpha7 来使用 Android Studio 1 5 1 中的 NDK 构建集成 但现在我的 google services json 不再转换为 R xml global
  • 如何将 Launchpad 项目(包括 Bug/问题)迁移到 GitHub?

    将代码从 Launchpad bzr 迁移到 GitHub git 并不是什么大问题 但是有没有一种方法可以将 Bug tickets 从 Launchpad 项目迁移到 GitHub 项目呢 有一个项目叫LP2GH http lp2gh
  • Unity:Android 上的 FPS 随机下降到接近零(提供了很多线索)

    首先感谢您花时间查看此内容 我们感谢您的任何意见 关于我们现在面临的问题 在过去的几个月里 我们在 Android 上的游戏应用程序中遇到了随机 fps 下降到接近于零的情况 并且到目前为止尚未成功调试该问题 它在完全随机的时间发生 有时在
  • 如何在 Clojure 中替换 Java 嵌套 for 循环?

    我创建了一个非常简单的嵌套循环示例 并且正在努力编写等效的 Clojure 代码 我一直在尝试通过列表理解来做到这一点 但无法得到相同的答案 任何帮助表示赞赏 public class Toy public static void main
  • 报告服务打印使 IE 崩溃

    我们使用 SSRS 2008 R2 已经一年多了 打印效果很好 随着Windows 7上的客户端浏览器升级到IE10 当用户单击打印图标时 一些浏览器会崩溃 故障模块是rsclientprint64 dll 为了尝试解决此问题 我手动将 d
  • head 标签中 src/href 属性末尾有奇怪的字符

    快速问题 为什么 drupal 在末尾添加字符src or href中的属性link and script页面头部的标签 我有这个 对于加载的每个样式表和脚本都是相同的 我不明白为什么要这样做 我想这可能就是我的主题在 IE 中一团糟的原因
  • 如何在 ruby​​ Fiddle 中处理数组指针

    我正在尝试从 Ruby FFI 切换到 Fiddle 它现在是 Ruby std lib 的一部分 虽然它没有文档记录 但我很难弄清楚如何处理数组和指针 特别是 如何编写 C 函数的 Fiddle 接口 如下所示 void my func
  • 在 WPF 中使用数据绑定时 OxyPlot 不刷新

    我正在异步获取数据并尝试通过 LineSeries 填充绘图 但更新绑定集合 ObservableCollection 时绘图不会刷新 注意 当绑定集合更改时 我有一个 XAML 行为来调用 InvalidatePlot true 谁能解释
  • 与 .Net 兼容的 RSA 密钥(XML 格式)

    如何生成基于 xml 的 RSA 密钥 私有 公共 该密钥应与 NET 环境兼容 我尝试了 PHP 中的 phpseclib 模块 但它不兼容 NET 请建议我有什么方法可以在 Java 中生成基于 xml 的 RSA 密钥吗 实际上我正在
  • 具有私有集的只读 List

    我怎样才能暴露List
  • 为不在包中的 R6 类创建 Rd 文档文件

    我正在尝试创建一些包含一些 R6 类的脚本的文档 作为示例 我使用此处名为 Person 的 R6Class https www tidyverse org blog 2019 11 roxygen2 7 0 0 https www tid
  • 在提交表单 html5 之前调整图像大小

    我需要在客户端中调整图像大小并在提交之前将其添加到表单中 这是完整的 html
  • 如何从数据库表中选择4个大小相等的结果集

    我有一个包含很多行的 SQL Server 数据库表 我正在使用一个使用该表作为数据源的程序 该程序本身不支持多线程 因此我必须运行该程序的多个实例 并且对于每个实例 我需要告诉要处理整个基础数据的哪一部分 我一直在使用此语句将基本数据 表
  • 定期 iOS 后台位置更新

    我正在编写一个需要后台位置更新的应用程序高精度 低频率 解决方案似乎是一个后台 NSTimer 任务 它启动位置管理器的更新 然后立即关闭 这个问题之前已经被问过 如何在我的 iOS 应用程序中每 n 分钟更新一次后台位置 https st
  • 以编程方式导入/导出 VS 设置?

    有没有办法通过 Visual Studio 扩展 即通过 Visual Studio API 导入 导出 Visual Studio 设置 我想将一些特定设置导出到本地文件 就像 VS 导入和导出设置向导所做的那样 但是当然没有 UI 交互
  • Modernizr 与 HTML shiv

    如果我只需要旧版浏览器识别 HTML5 标签 我应该使用它 现代化 http www modernizr com 或流行的HTML5 刀 http code google com p html5shiv 另外 如果我不需要设置 HTML5
  • 如何仅导入不存在的文档?

    我正在使用 mongo import 来导入一堆 json 并且我正在寻找一种仅导入不存在的记录的方法 可以通过 oid 检查 我尝试使用 upsert 但它会更新记录 如果它已经存在 我想完全忽略它 有任何想法吗 mongoimport
  • 服务在不同端口上运行的域的 SSL 证书

    我有一台服务器 在不同端口上运行不同的服务 例如 https 主机名 9000 com https hostname 9000 com或 wss hostname 4536 com 等 现在可以保护所有这些服务的单一正确 SSL 证书是什么
  • 提交消息中的 Change-Id 丢失时出现 Gerrit 错误

    我在远程存储库中设置了一个分支 并在该分支上进行了一些提交 现在我想将远程分支合并到远程主控 我的操作基本上如下 结帐分支 结帐大师 合并分支并修复合并错误 commit 推送原点 HEAD refs for master 但在第5步时出现
  • 如果项目存在于“禁止使用的单词”数组中,则从数组中删除该项目

    我有一个数组 Array 0 gt tom 1 gt and 2 gt jerry 我还有一个不允许的单词数组 Array 0 gt and 1 gt foo 2 gt bar 我需要做的是删除第一个数组中也出现在第二个数组中的任何项目 例