php数组算法(1)判断一维数组和多元数组中的元素是否相等并输出键值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()函数获取匹配项的键值。以下是一个示例代码:

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

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


@漏刻有时

相关推荐
星火开发设计1 小时前
C++ 数组:一维数组的定义、遍历与常见操作
java·开发语言·数据结构·c++·学习·数组·知识
TTGGGFF1 小时前
控制系统建模仿真(一):掌握控制系统设计的 MAD 流程与 MATLAB 基础运算
开发语言·matlab
2501_944424121 小时前
Flutter for OpenHarmony游戏集合App实战之贪吃蛇食物生成
android·开发语言·flutter·游戏·harmonyos
Lhuu(重开版2 小时前
JS:正则表达式和作用域
开发语言·javascript·正则表达式
仙俊红3 小时前
Java Map 家族核心解析
java·开发语言
浅念-3 小时前
C语言小知识——指针(3)
c语言·开发语言·c++·经验分享·笔记·学习·算法
白狐_7984 小时前
【计网全栈通关】第 5 篇:网络层核心计算——IP 地址规划、子网划分与 CIDR
网络协议·tcp/ip·php
code_li4 小时前
聊聊支付宝架构
java·开发语言·架构
少控科技4 小时前
QT高阶日记01
开发语言·qt
无限进步_5 小时前
【C++】大数相加算法详解:从字符串加法到内存布局的思考
开发语言·c++·windows·git·算法·github·visual studio