首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >二维数组php中的array_key_exists

二维数组php中的array_key_exists
EN

Stack Overflow用户
提问于 2011-01-19 22:37:05
回答 1查看 3.4K关注 0票数 3

这是一个复杂的问题……

编辑!!

我试过这个...:

但是它不能工作...:

代码语言:javascript
复制
if ($citation->MeshHeadingList)
            {//b

                foreach ($citation->MeshHeadingList->MeshHeading as $mesh_heading)
                {//c
                $mesh_tag = $mesh_heading->DescriptorName;
                //If Qualifier name excists:
                if (isset($mesh_heading->QualifierName))
                    {//d


                    if (!array_key_exists($mesh_tag, $mesh_tags_array))
                        {//e
                        $mesh_tags_array[$mesh_tag][] = 0;
                        foreach ($mesh_heading->QualifierName as $qualifier_name)
                            {//f
                                if (!array_key_exists($qualifier_name, $mesh_tags_array)
                                    {//g
                                    $mesh_tags_array[][$qualifiername] = 0;
                                    }//g
                                else
                                    {//g
                                    $mesh_tags_array[][$qualifiername] += 1;
                                    }//g
                            }//f

                        if ($mesh_heading->DescriptorName->attributes() == "Y")
                            {//f
                            $major = 3;
                            }//f
                            else
                            {//f
                            $major = 0;
                            }//f
                        $mesh_tags_array[$mesh_tag][] += $position_rank + $date_rank + $major;

                        }//e

                    else
                        {//e
                        if ($mesh_heading->DescriptorName->attributes() == "Y")
                            {//f
                            $major = 3;
                            }//f
                        else
                            {//f
                            $major = 0;
                            }//f                
                        if (!array_key_exists($mesh_tag, $mesh_tags_array))
                            {//f
                            $mesh_tags_array[$mesh_tag][] = 0;
                            }//f
                        else
                            {//f
                            $mesh_tags_array[$mesh_tag][] += $position_rank + $date_rank + $major;
                            }//f

                        }//e

                    }//d
                }//c 
            }//b
            else
            {//b
            echo "mesheading is missing in article " . $i . "<br />";

            }//b

下面是xmlobject:

代码语言:javascript
复制
 [MeshHeadingList] => SimpleXMLElement Object
                            (
                                [MeshHeading] => Array
                                    (
                                        [0] => SimpleXMLElement Object
                                            (
                                                [DescriptorName] => Acoustic Stimulation
                                                [QualifierName] => methods
                                            )

                                        [1] => SimpleXMLElement Object
                                            (
                                                [DescriptorName] => Adult
                                            )

                                        [2] => SimpleXMLElement Object
                                            (
                                                [DescriptorName] => Auditory Perception
                                                [QualifierName] => physiology
                                            )

                                        [3] => SimpleXMLElement Object
                                            (
                                                [DescriptorName] => Electroencephalography
                                                [QualifierName] => methods
                                            )

                                        [4] => SimpleXMLElement Object
                                            (
                                                [DescriptorName] => Event-Related Potentials, P300
                                                [QualifierName] => Array
                                                    (
                                                        [0] => genetics
                                                        [1] => physiology
                                                    )
                    )
                   [5] => SimpleXMLElement Object
                                            (
                                                [DescriptorName] => Schizotypal Personality Disorder
                                                [QualifierName] => Array
                                                    (
                                                        [0] => diagnosis
                                                        [1] => genetics
                                                        [2] => psychology
                                                        [3] => clinical physiology
                                                    )

                                            )

                 [MeshHeading] => Array
                                    (
                                        [0] => SimpleXMLElement Object
                                            (
                                                [DescriptorName] => Adolescent
                                            )


                    [1] => SimpleXMLElement Object
                                            (
                                                [DescriptorName] => Event-Related Potentials, P300
                                                [QualifierName] => Array
                                                    (
                                                        [0] => genetics
                                                        [1] => physiology
                            [2] => methods
                                                    )

                    )
                                        [2] => SimpleXMLElement Object
                                            (
                                                [DescriptorName] => Attention
                                            )

                                        [3] => SimpleXMLElement Object
                                            (
                                                [DescriptorName] => Female
                                            )

                                        [4] => SimpleXMLElement Object
                                            (
                                                [DescriptorName] => Genetic Predisposition to Disease
                                                [QualifierName] => Array
                                                    (
                                                        [0] => genetics
                                                        [1] => psychology
                                                    )

                                            )

                                         [5] => SimpleXMLElement Object
                                            (
                                                [DescriptorName] => Schizotypal Personality Disorder
                                                [QualifierName] => Array
                                                    (
                                                        [0] => diagnosis
                                                        [1] => genetics
                                                        [2] => psychology
                                                    )

                                            )

我想在下面的数组中输出它:

代码语言:javascript
复制
Acoustic Stimulation (1)
-methods (1)

Adult (1)

Auditory Perception (1)
-physiology (1)

Electroencephalography (1)
-methods (1)

Event-Related Potentials, P300 (2)
-genetics (2)
-physiology (2)
-methods (1)

Schizotypal Personality Disorder (2)
-diagnosis (2)
-genetics  (2)
-psychology (2)
-clinical physiology (1)

Adolescent (1)

Attention (1)

Female (1)

Genetic Predisposition to Disease (1)
-genetics (1)
-psychology (1)

说明:如果描述符名称存在,它会将值添加为1,如果QualifierName存在于相同的DiscriptorName中,它也会向QualifierName添加值...

正如您所看到的,它必须在第一个"array_key_exists“中选中,然后在数组中的数组中选中...?

我开始使用一维数组,但这要复杂得多…??

致敬,Thijs

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-19 23:09:21

您可以只使用isset

代码语言:javascript
复制
if (isset($stat[$descriptorName][$qualifierName]))
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4736448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档