插件窝 干货文章 php判断值是否在二维数组中的id里

php判断值是否在二维数组中的id里

数组 二维 targetId 目标值 920    来源:    2025-03-19

在PHP中,你可以使用循环遍历二维数组,并检查每个子数组中的id字段是否与目标值匹配。以下是一个示例代码,展示了如何判断一个值是否存在于二维数组的id字段中:

<?php
// 示例二维数组
$array = [
    ['id' => 1, 'name' => 'Alice'],
    ['id' => 2, 'name' => 'Bob'],
    ['id' => 3, 'name' => 'Charlie']
];

// 要查找的id值
$targetId = 2;

// 标志变量,用于判断是否找到
$found = false;

// 遍历数组
foreach ($array as $item) {
    if ($item['id'] === $targetId) {
        $found = true;
        break; // 找到后立即退出循环
    }
}

// 输出结果
if ($found) {
    echo "ID $targetId 存在于数组中。";
} else {
    echo "ID $targetId 不存在于数组中。";
}
?>

代码解释:

  1. 二维数组$array 是一个包含多个子数组的二维数组,每个子数组都有一个id字段和一个name字段。
  2. 目标值$targetId 是你要查找的id值。
  3. 遍历数组:使用foreach循环遍历二维数组中的每个子数组。
  4. 判断条件:在循环中,检查当前子数组的id字段是否与$targetId相等。如果相等,则将$found标志设置为true并退出循环。
  5. 输出结果:根据$found的值输出相应的结果。

其他方法:

你也可以使用array_column函数来提取所有id值,然后使用in_array函数来判断目标值是否存在:

<?php
// 示例二维数组
$array = [
    ['id' => 1, 'name' => 'Alice'],
    ['id' => 2, 'name' => 'Bob'],
    ['id' => 3, 'name' => 'Charlie']
];

// 要查找的id值
$targetId = 2;

// 提取所有id值
$ids = array_column($array, 'id');

// 判断目标值是否存在
if (in_array($targetId, $ids)) {
    echo "ID $targetId 存在于数组中。";
} else {
    echo "ID $targetId 不存在于数组中。";
}
?>

这种方法更加简洁,但需要注意的是,array_column函数在PHP 5.5.0及以上版本中可用。