按顺序在数组中查找数组

2023-12-04

如何编码[find-array-in-array]功能?

伪代码

Haystack:

array(0=a, 1=b, 2=a, 3=b, 4=c, 5=c, 6=a, 7=b, 8=d, 9=c, 10=a, 11=b, 12=a, 13=b, 14=c);

Needle:

array(a, b, c);

Return:

array ( array (2, 3, 4), array(12, 13, 14) )

Desired: Haystack 中的钥匙与 Needle 相匹配。上面应该给出 2 个匹配项:

  1. 比赛 = 干草堆 2-4
  2. 比赛 = 干草堆 12-14

应该找不到"a b", "a b d" nor "c a b"ETC。, 仅 Needle 中每个值的实例 - 按指定顺序。

我想让它成为一个函数,这样我就可以重复运行它(我有很多这样的模式)。

我尝试过使用嵌套的 foreach 来做到这一点,并用计数器等让自己发疯。 我到了一定程度,无法区分匹配和不匹配。 (惊讶没有内置功能?in_array and array_intersect好像只适合个人价值,不适合收藏?)


$haystack = array('a','b','a','b','c','d','a','b','c');
$needle = array('a','b','c');

$CountH = count($haystack); echo $CountH."<br/>";
$CountN = count($needle); echo $CountN."<br/>";
$matches ='';
foreach ($haystack as $key1=>$haystackval){
    foreach ($needle as $key2=>$needleval) {
        $fail = '0';
        //if (in_array($needleval, $haystack)) {
        if ($key2[$needleval] === $haystackval && $fail === '0') {
            echo "Got needleval - ".$needleval ."<br/>";
        } 
        else { $fail='1';
        }
    } 
}

我尝试创建这个功能;

function find_array_in_array($needle, $haystack) {
    $keys = array_keys($haystack, $needle[0]);
    $out = array();
    foreach ($keys as $key) {
        $add = true;
        $result = array();
        foreach ($needle as $i => $value) {
            if (!(isset($haystack[$key + $i]) && $haystack[$key + $i] == $value)) {
                $add = false;
                break;
            }
            $result[] = $key + $i;
        }
        if ($add == true) { 
            $out[] = $result;
        }
    }
    return $out;
}

$haystack = array('a', 'b', 'a', 'b', 'c', 'c', 'a', 'b', 'd', 'c', 'a', 'b', 'a', 'b', 'c');

$needle = array('a', 'b', 'c');

print_r(find_array_in_array($needle, $haystack));

Outputs;

Array
(
    [0] => Array
        (
            [0] => 2
            [1] => 3
            [2] => 4
        )

    [1] => Array
        (
            [0] => 12
            [1] => 13
            [2] => 14
        )

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

按顺序在数组中查找数组 的相关文章

  • 使用 PhpStorm 删除 CakePHP 中的插件后出现“成员有私人访问错误”

    从我的 CakePHP 框架中删除插件以及与其关联的所有代码行后 我在以下位置收到错误getInitializer的功能autoload static php in my vendor gt composer folder public s
  • 我如何知道请求是否来自 flash swf?

    我有一个用 flash 开发的应用程序 我需要访问一些 php 文件 因此 如果访问来自 swf 则 php 文件会返回一些数据 如何判断请求是否来自Flash 无需将 get post 变量传递给 php 可能是用户代理 推荐人 请记住
  • 为什么当尝试使用 $this->data 访问 CakePHP 时,密码字段为空?

    我正在实现一个身份验证组件 这是我的注册页面 create User array action gt login echo form gt input primary email array size gt 32 echo form gt
  • 默认数组值

    有没有办法在javascript中为数组分配默认值 ex an array with 24 slots that defaults to 0 您可以使用fill数组上的函数 Array 24 fill 0 Note fill仅在 ECMAS
  • 从twitter api实体参数php获取图像url

    我正在尝试通过实体参数使用 php 获取并显示在推文中发布的图像 我的 url 中有 include entities 可以看到返回的 json 中的实体 在我的 foreach 循环中 我正在执行以下操作 foreach results
  • 基本表创建 fpdf

    我找不到使用 fpdf 制作表格并从 mysql 数据库获取数据的合适教程 我只是想知道如何创建一个 我在网上尝试示例时遇到了很多错误 例如 我有 名字 中间名 姓氏 年龄 和 电子邮件 列 如何使用 fpdf 创建表格并回显数据库中的条目
  • Javascript 函数与 php 一样吗?

    我在网站上使用 WebIM 提供聊天支持 我希望能够在客户端启动聊天会话时设置一个计时器 如果操作员 技术人员在 x 秒内没有响应 我希望页面重定向到客户端可以留言的另一个页面 有点像 请稍等 我们尝试联系您 这样 如果所有技术人员都太忙或
  • PHP:如何防止不必要的换行

    我正在使用 PHP 创建一些基本的 HTML 标签始终相同 但实际链接 标题对应于 PHP 变量 string p a href strong i title i i strong a br echo string fwrite outfi
  • 将 PHP mcrypt 与 Rijndael/AES 结合使用

    我正在尝试使用 php 中的 mcrypt 和密码 Rijndael 加密一些文本消息 但我不确定 MCRYPT MODE modename 根据 PHP 手册 这些可用 ecb cbc cfb ofb nofb 或 stream 但我读到
  • PHP 如果不存在,则从字符串中删除 ','

    我正在运行这段代码 stmt pdo conn gt prepare SELECT from admin where support emails support emails and logged logged and disabled
  • Facebook 中用户的时区是如何编码的

    我需要检查用户的时区 但我找不到它的真正定义 参考API http developers facebook com docs reference api user says 用户的时区与 UTC 的偏移量 现在在维基百科上这些是可能的时区
  • 如何读取 XML 文件并从中获取值以在 PHP 编码的 HTML 页面中显示

    我有一个 XML 文件 其中有一些重复的标签 其中包含不同的值 我需要获取这些值并显示在我的网页中 请帮助我得到这个 如果您使用 PHP5 可以查看 SimpleXML 您可以在这里找到介绍教程 http www w3schools com
  • 数据表 - 服务器端处理 - 数据库列合并

    我目前正在使用 DataTables 1 10 5 服务器端处理功能 http www datatables net examples data sources server side html http www datatables ne
  • pq:函数unnest(未知)不是唯一的

    以下代码工作正常 但我想将 array a b c d e 定义为变量 rows err db Query select colname from SELECT date unnest array a b c d e AS colname
  • 如何 grep 遍历数组,同时过滤掉匹配项?

    有没有一种快速简便的方法来 grep 遍历数组 找到满足某些测试的元素and从原始数组中删除这些 例如我想要 a 1 7 6 3 8 4 b grep filter gt 5 a now b 7 6 8 and a 1 3 4 换句话说 我
  • 使用php将文本文件转换为xml?

    data txt ha15rs 250 home2 gif 2 ha36gs 150 home3 gif 1 ha27se 300 home4 gif 4 ha4678 200 home5 gif 5 我想使用 php 使用 simplex
  • C# 用数组封送结构体

    假设我有一个类似于 public struct MyStruct public float a 我想用一些自定义数组大小实例化一个这样的结构 在本例中假设为 2 然后我将其封送到字节数组中 MyStruct s new MyStruct s
  • Yii 查询时对相关模型的限制

    我遇到了极限问题 我正在使用的代码如下 model PostCategory model record model gt with array posts gt array order gt posts createTime DESC li
  • Laravel 8、Sanctum、Fortify /logout 在 Postman 中抛出“CSRF 令牌不匹配”

    我安装了 L8 Sanctum 和 Fortify 进行身份验证 我以前可以 login 使用了Pre request Script设置X XSRF TOKEN 我什至得到了 api user成功地 但当我这样做时 logout 我在 Po
  • 在 Javascript 中创建数组

    我对 javascript 不太熟悉 并且在用 javascript 制作 2d 或者也许我可能需要 3d 数组时遇到了一些麻烦 我目前需要收集 2 条信息 一个 ID 和一个值 因此我创建了以下内容 var myArray var id

随机推荐

  • 第谷无法从不同的 Reactor 构建中解析从产品到 Eclipse 功能的引用

    我有两个反应堆构建 第一个构建了一些捆绑包和相应的功能 成功后clean install该功能位于我本地的 Maven 存储库中 第谷还生成了 p2 元信息 p2artifacts xml and p2metadata xml 第二个版本包
  • 如何在 Powershell 消息框中获取计时器?

    我试图在我用 PS Forms 创建的消息框中显示一个计时器 我想要这样的东西 1 秒后显示 您的电脑将在 10 秒后关闭 您的电脑将在 9 秒后关闭 您的电脑将在 8 秒后关闭 等等 希望你能帮我 我没有看到刷新消息框中文本的方法 如果我
  • Linux编译 |入口点无效

    我正在编译一个linux内核使用 mipsel 工具链 一切工作正常 除了最后一点指出无效的入口点 sh 0 Can t open arch mips boot tools entry rm f arch mips boot vmlinux
  • 从 asp.net 中的 gridview 获取选中的行

    我有一个GridView在 ASP net 中我有一个CheckBox柱子 用户可以切换CheckBox 现在 我想要的是 当用户单击按钮时 来自GridView哪里的CheckBox被选中应该显示 在另一个按钮上 应该显示相反的状态 我不
  • ios iPhone模拟器是否导致内存使用分析膨胀?

    我正在尝试在我的应用程序中处理一个大文本文件 我知道我要小心读取数据时消耗的内存量 一旦读取了一条数据 应用程序就不需要保留该数据 感谢 Martin R 和这篇文章逐行读取文件 URL帮助我开始努力 我正在尝试监视我的应用程序在读取大数据
  • 图像显示时改变形状

    我正在尝试显示此图像 因为我的目录中有此图像 但我用这段代码显示它 Mat img imread D vig png imshow image img waitKey imwrite D img jpg img 同一张图片显示如下 它出什么
  • Java VM 如何决定 user.dir 系统属性的值?

    我正在运行一个简单的 Java 程序 其目录结构如下 MyProject A project in my Eclipse IDE src Hello java 在 Hello java 中 我正在打印 user dir 系统属性的值 Sys
  • ASP.Net Core 生成了太多 cookie,我的应用程序无法处理

    我有一个测试应用程序 用于测试与 WSO2 Identity Server IDP 的集成 当它单独运行时 它工作得很好 它使 AspNetCore Antiforgery饼干和一个 AspNetCore Cookies曲奇饼 防伪 coo
  • 如何使用 C# 向 Sql Server 2005 数据库插入和读取 pdf 文件

    如何将pdf文件插入sql server 2005并从sql server读取pdf文件 如果您有兴趣使用数据库进行文件存储 请查看这篇来自 4guysfromrolla 的文章 它是面向网络的 但找到您需要的内容应该没有问题
  • 如何在bash脚本中读取csv文件到数组

    我编写了以下代码 将我的 csv 文件 具有固定的列数 但没有固定的行数 作为数组读入我的脚本中 我需要它是一个 shell 脚本 usernames x1 x2 x3 x4 username1 5 5 4 2 username2 6 3
  • 确定列表是否具有相等的连续元素

    我试图确定一个大列表是否具有相同的连续元素 那么我们说 lst 1 2 3 4 5 5 6 在这种情况下 我会返回 true 因为有两个连续的元素lst 4 and lst 5 是相同的值 我知道这可能可以通过某种循环组合来完成 但我想知道
  • 反转链表 C++ [重复]

    这个问题在这里已经有答案了 可能的重复 无法反转链表 我正在尝试反转链接列表 void LinkedList reverseList Node next head Node prev 0 while next 0 Node tmp next
  • Android使用ArrayList向多个联系人发送短信

    我正在编写一个向多个联系人发送短信的应用程序 联系人号码存储在ArrayList 从另一项活动收到 我无法使用这个ArrayList将多个联系人传递到内置 SMS Android 应用程序 这是代码 ArrayList
  • 如何在不触发文本观察器的情况下更改 EditText 文本?

    我有一个EditText其上带有客户文本观察器的字段 在一段代码中 我需要更改我使用的 EditText 中的值 setText whatever 问题是一旦我做出改变afterTextChanged方法被调用 这创建了一个无限循环 如何更
  • PHP 会话在页面之间丢失数据

    我正在尝试为我的网站设置一个登录系统 需要有人登录才能发帖 我已经用会话设置了它 它在我的本地主机上运行得很好 但在服务器上却不起作用 我在某些页面上设置了 print r session 以查看数据丢失的位置 在 checklogin p
  • Haskell Servant 从处理程序获取当前路由/URL

    我想获取与我的处理程序相对应的当前路线 这是我的服务器的模型 仅供参考 type ServerAPI route01 gt Get HTML Text lt gt route02 gt subroute gt Get HTML Text l
  • 以角度形式保留 http 调用的顺序

    我正在尝试使用我在此处找到的几种方法来解决我面临的订单问题SO没有成功 我有一个方法 我正在为数组加载一些数据leaflet layers private loadSelectedTileLayersCapabilities void le
  • 在示例 Android 应用程序中使用解析 SDK 库时出现错误

    在这里 我正在使用名为 3rd party sdk 的东西做一些事情parse sdk它为Android平台提供了一些API 我经历过这个link并尝试为此解析 sdk 做一些示例工作 但是在完成该链接上提到的所有步骤之后 我无法运行此测试
  • 克隆对象不可删除

    我正在尝试使用 Jquery 克隆可删除对象 但克隆的对象不可删除 document ready function input value Add click function e e preventDefault div field la
  • 按顺序在数组中查找数组

    如何编码 find array in array 功能 伪代码 Haystack array 0 a 1 b 2 a 3 b 4 c 5 c 6 a 7 b 8 d 9 c 10 a 11 b 12 a 13 b 14 c Needle a