php中判断一维数组和多元数组中的元素是否相等并输出键值key

在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()函数获取匹配项的键值。以下是一个示例代码:

$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()函数获取匹配项的键值。最后,通过比较匹配项的数量,判断是否存在相等的项,并输出相应的信息。

请注意,上述代码假设目标数组中的子数组是按顺序排列的,并且每个子数组的长度是相同的。


@漏刻有时

最近更新

  1. TCP协议是安全的吗?

    2024-01-27 04:04:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-27 04:04:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-27 04:04:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-27 04:04:01       18 阅读

热门阅读

  1. 【MySQL事务】MySQL事务初识

    2024-01-27 04:04:01       33 阅读
  2. C# Queryable类

    2024-01-27 04:04:01       25 阅读
  3. vue创建组件和使用

    2024-01-27 04:04:01       31 阅读
  4. 纯c实现栈和队列 数据结构大全

    2024-01-27 04:04:01       31 阅读
  5. chatGPT辅助写硕士毕业论文

    2024-01-27 04:04:01       36 阅读
  6. 第五章 使用 SQL Search - 验证 SQL 搜索项字符串

    2024-01-27 04:04:01       28 阅读
  7. 微信小程序px、rpx、vh、百分比单位介绍

    2024-01-27 04:04:01       145 阅读
  8. 【python】程序的流程控制

    2024-01-27 04:04:01       34 阅读