如何使用PHP在多维数组中查找某些元素?

如何使用PHP在多维数组中查找某些元素?,php,arrays,multidimensional-array,logic,Php,Arrays,Multidimensional Array,Logic,我有一个多维数组,它的名字是:$MyArray=array() 此数组可用于显示事物之间的关系 Array ( [parent] => Array ( [0] => Array ( [1] => tom [2] => bob ) [1] => Arra

我有一个多维数组,它的名字是:
$MyArray=array()

此数组可用于显示事物之间的关系

Array
(
    [parent] => Array
        (
            [0] => Array
                (
                    [1] => tom
                    [2] => bob
                )

            [1] => Array
                (
                    [1] => liza
                    [2] => bob
                )

            [2] => Array
                (
                    [1] => bob
                    [2] => john
                )

            [3] => Array
                (
                    [1] => pet
                    [2] => john
                )

        )

    [gender] => Array
        (
            [0] => Array
                (
                    [1] => tom
                    [2] => male
                )

            [1] => Array
                (
                    [1] => liza
                    [2] => female
                )

            [2] => Array
                (
                    [1] => bob
                    [2] => male
                )

            [3] => Array
                (
                    [1] => pet
                    [2] => female
                )

        )

)

现在,我想返回一个数组,它必须满足所有条件:

  • gender
    数组中查找具有
    male
    值的行。此值称为:
    TempArray
  • 临时数组的哪一行中
    ,继续在
    Sol_1
    中的
    parent
    数组中查找名称
然后返回多维数组:
ResArray
,如:

Array
(
    [father] => Array
        (
            [0] => Array
                (
                    [1] => tom
                    [2] => bob
                )
            [1] => Array
                (
                    [1] => bob
                    [2] => john
                )

        )

        [mother] => Array
        (
            [0] => Array
                (
                    [1] => liza
                    [2] => bob
                )
            [1] => Array
                (
                    [1] => pet
                    [2] => john
                )

        )

)


如何使用PHP实现这一点?

“在PHP中使用多维数组是否可以解决这个逻辑问题?”
。是的,当然是这样,但你必须向我们展示你迄今为止所做的尝试。就目前而言,这是一个“给我一个密码”的问题。你的问题是,你还没有展示你迄今为止所做的尝试。然而,这只是我的观点,其他人可能不同意。您可以将问题保持原样,看看社区的决定,或者如果遇到我们可以帮助解决的特定问题,您可以尝试编写一些代码并重新发布。与此同时,我投票决定结束这场辩论,因为它涉及面太广。请注意,我并不是说你的问题不好或无趣,只是说它太宽泛了。数组是一种数据结构,决不能解决任何问题,但你可以用它来建模问题。你可能会从与AI和Prolog编程相关的搜索中受益。从本质上说,拥有一系列“对象”通常是有用的,这些对象的属性和状态为问题需求建模。这项技术可以通过在声明性语言中的使用来适应过程语言,尽管程序员会发现自己重新发明了这个“轮子”的某些部分如果你想拥有类似于Prolog推理机的东西,你需要实现以下几点:1)你需要一个能区分变量和常数项的数据结构2)你需要实现统一(这是使你的规则与事实相匹配所必需的)3)深度优先搜索和解析。总的来说,这不是那么容易做到的。也可以使用prolog作为后端来解决逻辑部分,并使用php进行表示。这是一种可行的方法吗?
“是否有可能用PHP解决多维数组的逻辑问题?”
。是的,当然是这样,但你必须向我们展示你迄今为止所做的尝试。就目前而言,这是一个“给我一个密码”的问题。你的问题是,你还没有展示你迄今为止所做的尝试。然而,这只是我的观点,其他人可能不同意。您可以将问题保持原样,看看社区的决定,或者如果遇到我们可以帮助解决的特定问题,您可以尝试编写一些代码并重新发布。与此同时,我投票决定结束这场辩论,因为它涉及面太广。请注意,我并不是说你的问题不好或无趣,只是说它太宽泛了。数组是一种数据结构,决不能解决任何问题,但你可以用它来建模问题。你可能会从与AI和Prolog编程相关的搜索中受益。从本质上说,拥有一系列“对象”通常是有用的,这些对象的属性和状态为问题需求建模。这项技术可以通过在声明性语言中的使用来适应过程语言,尽管程序员会发现自己重新发明了这个“轮子”的某些部分如果你想拥有类似于Prolog推理机的东西,你需要实现以下几点:1)你需要一个能区分变量和常数项的数据结构2)你需要实现统一(这是使你的规则与事实相匹配所必需的)3)深度优先搜索和解析。总的来说,这不是那么容易做到的。也可以使用prolog作为后端来解决逻辑部分,并使用php进行表示。这是一种可行的方式吗?