【发布时间】:2012-10-12 21:25:01
【问题描述】:
我正在设计一个电气工程应用程序。但是,我坚持这一点: 我有以下数组
<?php
// Static Array
$GroupOfEight = array (
array(0,1,3,2,4,5,7,6),
array(4,5,6,7,16,12,13,14),
array(12,13,15,14,8,9,11,10),
array(2,6,14,10,3,7,15,11),
array(1,3,5,7,13,15,9,11),
array(0,4,12,8,1,5,13,9),
array(0,1,3,2,8,9,11,10)
);
?>
我还有另一个数组,但这个是一维的。
<?php
$myStack = array(0,1,3,2,4,5,7,6); //Dynamic, gets value by POST method.
?>
我想要做的是检查 $myStack 是否等于 $GroupOfEight 数组的任何子数组。 (编号顺序并不重要。脚本应该只检查是否包含每个元素。它们的顺序是否相同并不重要。)
到目前为止,我为解决此问题所做的工作如下:
<?php
//Check if stackArray contains 8group
for($i=0; $i<count($GroupOfEight);$i++)
for($j=0; $j<count($GroupOfEight[$i]); $j++){
//$containsSearch = count(array_intersect($search_this,$all)) == count($search_this);
$containsSearch = count(array_intersect($stackArray,$GroupOfEight[$j])) == count($stackArray);
echo $containsSearch;
}
?>
请帮我更正我的代码或向我介绍这个问题的解决方案, 谢谢。
编辑:它应该只给出 1 个索引号。例如 stackArray 是 0,1,3,2,4,1,2,3 并且它应该找到与相同数字匹配的 GroupOfEight[N] ,而不管数字的顺序如何。如果有匹配的案例,我应该得到 N。
【问题讨论】:
-
您是否已将 $stackarray 分配到某个地方?此外,您不需要两个循环;一个很好。
-
是的,但我需要检查 GroupOfEight 的所有行
-
第一个循环检查 GroupOfEight 的所有值
标签: php arrays multidimensional-array array-intersect