【问题标题】:Search in a 2D array... php在二维数组中搜索... php
【发布时间】:2025-12-16 04:40:01
【问题描述】:

我有这个数组:

$Fruit = 数组()

$Fruit[$species][$property] = $value

Array
(
    [Apple] => Array
        (
            [Green] => 4
            [Spots] => 3
            [Red] => 3
            [Spots] => 2
        )

现在我想搜索第二个数组中是否存在键...

我试过了:

if (!array_key_exists($property, $Fruit->$species))

但它不起作用......

有谁知道如何在数组的数组中搜索...?

问候, 泰斯

【问题讨论】:

    标签: php multidimensional-array array-key


    【解决方案1】:
    array_key_exists($property, $Fruit[$species])
    

    -> 用于对象,[] 用于写入和读取数组。

    顺便说一句,除非您的值可以是 null,否则我建议您使用 isset 而不是 array_key_exists

    isset($Fruit[$species][$property])
    

    应该更直观。

    【讨论】:

      【解决方案2】:
      【解决方案3】:

      如果您在搜索中只需要一个是/否(真/假)答案,但它不返回找到的元素附加信息(例如,来自其他数组维度),则上述方法有效。

      查看 PHP 手册中的这个循环: http://php.net/manual/en/control-structures.foreach.php 并将其与if 子句结合使用以获取更多信息

      我不会直接回答你,因为foreach 是你需要学习的 PHP 基础知识的一部分。

      【讨论】: