判断步骤:1、使用foreach语句循环遍历二维数组的外层数组元素,语法““foreach($arr as $v){//循环体代码}””;2、在循环体中,利用“if(is_array($v)){if(array_search(元素值,$v)){//指定元素在二维数组中}}else{if($v===元素值){//指定元素在二维数组中}}”语句判断指定元素是否在二维数组中。
本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑
php判断元素是否在二维数组中的方法
步骤1、使用foreach语句循环遍历二维数组的外层数组元素
foreach($arr as $v){ //循环体代码 }
遍历给定的 $arr 数组,在每次循环中会将当前数组的值赋给 $v。
步骤2、在循环体中,判断元素是否在二维数组中
使用is_array()函数判断外层元素是否为数组类型(是否为子数组)
-
如果是则利用array_search()判断指定元素是否在子数组中
-
如何不是则利用“===”判断当前元素是否为指定元素即可
if(is_array($v)){ if(array_search(7,$v)){ echo "指定元素在二维数组中"; break; } }else{ if($v===7){ echo "指定元素在二维数组中"; break; } }
完整实现代码:
<?php header("content-type:text/html;charset=utf-8"); $arr = array(1,2,3,array(4,5,6),7,8,array(9,10)); var_dump($arr); foreach($arr as $v){ if(is_array($v)){ if(array_search(7,$v)){ echo "指定元素在二维数组中"; break; } }else{ if($v===7){ echo "指定元素在二维数组中"; break; } } } ?>
改良一下:
<?php header("content-type:text/html;charset=utf-8"); function f($val,$arr) { $con = 0; foreach ($arr as $v) { if (is_array($v)) { if (array_search($val, $v)) { $con = 1; break; } } else { if ($v === $val) { $con = 1; break; } } } if ($con == 1) { echo "指定元素 $val 在二维数组中<br>"; } else { echo "指定元素 $val 不在二维数组中<br>"; } } $arr = array(1, 2, 3, array(4, 5, 6), 7, 8, array(9, 10)); var_dump($arr); f("h",$arr); f(7,$arr); ?>
推荐学习:《PHP视频教程》