php 数组 快速查找,php-按顺序在数组中查找数组

如何编写[find-array-in-array]函数?

伪代码

草垛:

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);

针:

array(a, b, c);

返回:

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

期望:

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

>比赛=干草堆2-4

>比赛=干草堆12-14

它不应找到“ a b”,“ a b d”或“ c a b”等,

仅Needle中每个值的实例-按指定顺序.

我想使其成为一个函数,以便可以重复运行它(我有很多这样的模式).

我尝试过使用嵌套的foreach进行此操作,并用计数器等使自己发疯.

我到了某个地步,无法将比赛与不比赛分开.

(令人惊讶的是,没有内置函数?in_array和array_intersect似乎仅用于单个值,而不是集合?)

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

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

$CountH = count($haystack); echo $CountH."
";

$CountN = count($needle); echo $CountN."
";

$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 ."
";

}

else { $fail='1';

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值