在php中,如何判断[1,0,1]和[
0, 0, 0\],//体质正常 \[1, 0, 0\],//气虚体质 \[0, 1, 0\],//血瘀体质 \[0, 0, 1\],//阴虚体质 \[1, 1, 0\],//气虚兼血瘀体质 \[1, 0, 1\],//气虚兼阴虚体质 \[0, 1, 1\],//血瘀兼阴虚体质 \[1, 1, 1\],//气虚兼血瘀兼阴虚体质 \];中的第n项相等,并输出对应的键值
在PHP中,你可以使用array_filter()
函数来过滤出与给定数组相等的子数组,并使用array_keys()
函数获取匹配项的键值。以下是一个示例代码:
php
$givenArray = [1, 0, 1];
$targetArrays = [
[0, 0, 0], // 体质正常
[1, 0, 0], // 气虚体质
[0, 1, 0], // 血瘀体质
[0, 0, 1], // 阴虚体质
[1, 1, 0], // 气虚兼血瘀体质
[1, 0, 1], // 气虚兼阴虚体质
[0, 1, 1], // 血瘀兼阴虚体质
[1, 1, 1] // 气虚兼血瘀兼阴虚体质
];
$result = array_filter($targetArrays, function($array) use ($givenArray) {
return $array == $givenArray;
});
if (count($result) > 0) {
$keys = array_keys($result);
echo "第" . $keys[0] . "项相等,对应的键值是:" . $keys[0];
} else {
echo "没有找到相等的项";
}
在上述代码中,array_filter()
函数用于过滤出与$givenArray
相等的子数组,并返回一个包含匹配项的新数组。然后,使用array_keys()
函数获取匹配项的键值。最后,通过比较匹配项的数量,判断是否存在相等的项,并输出相应的信息。
请注意,上述代码假设目标数组中的子数组是按顺序排列的,并且每个子数组的长度是相同的。
@漏刻有时