繁体   English   中英

如何确定数组键是否等于PHP中的另一个数组值

[英]How to Determine If array key equal to another array value in PHP

我有一个像this-array1这样的数组:

Array
(
    [KAYSERİ EĞİTİM VE ARAŞTIRMA HASTANESİ] => Array
        (
            [27] => 1.31198374980837
            [28] => 1.31964897687573
            [29] => 1.30662343606958
            [30] => 1.36594872689222
            [31] => 1.32326024327785
            [32] => 1.34235680913653
            [33] => 1.3180530016225
        )

)

并且此数组键作为另一个数组values-array2存在:

Array
(
    [0] => Array
        (
            [HASTANEKODU] => 2784
            [HASTANEADI] => KAYSERİ EĞİTİM VE ARAŞTIRMA HASTANESİ
            [SEHIR] => Kayseri
            [DONEM] => HAZİRAN 2013
            [DONEMKODU] => 32

        )

    [1] => Array
        (
            [HASTANEKODU] => 2784
            [HASTANEADI] => KAYSERİ EĞİTİM VE ARAŞTIRMA HASTANESİ
            [SEHIR] => Kayseri
            [DONEM] => OCAK 2013
            [DONEMKODU] => 27

        )

    [2] => Array
        (
            [HASTANEKODU] => 2784
            [HASTANEADI] => KAYSERİ EĞİTİM VE ARAŞTIRMA HASTANESİ
            [SEHIR] => Kayseri
            [DONEM] => NİSAN 2013
            [DONEMKODU] => 30

        )

    [3] => Array
        (
            [HASTANEKODU] => 2784
            [HASTANEADI] => KAYSERİ EĞİTİM VE ARAŞTIRMA HASTANESİ
            [SEHIR] => Kayseri
            [DONEM] => TEMMUZ 2013
            [DONEMKODU] => 33

        )

    [4] => Array
        (
            [HASTANEKODU] => 2784
            [HASTANEADI] => KAYSERİ EĞİTİM VE ARAŞTIRMA HASTANESİ
            [SEHIR] => Kayseri
            [DONEM] => MAYIS 2013
            [DONEMKODU] => 31
            [YIL] => 2013
            [ROL] => AI
            [STATU] => DEVLET
            [TOPLAMBAGIL] => 9269.6
            [TOPLAMYATISGUNU] => 29602
            [YATISORTALAMAGUN] => 4.73783610755442
            [YATANHASTASAYISI] => 6248
            [VAKAKARMASI] => 1.32326024327785
        )

    [5] => Array
        (
            [HASTANEKODU] => 2784
            [HASTANEADI] => KAYSERİ EĞİTİM VE ARAŞTIRMA HASTANESİ
            [SEHIR] => Kayseri
            [DONEM] => ŞUBAT 2013
            [DONEMKODU] => 28

        )

    [6] => Array
        (
            [HASTANEKODU] => 2784
            [HASTANEADI] => KAYSERİ EĞİTİM VE ARAŞTIRMA HASTANESİ
            [SEHIR] => Kayseri
            [DONEM] => MART 2013
            [DONEMKODU] => 29

        )

) 

如果array-1键等于array-2 DONEMKODU值,我想从array-2获取DONEM值。

我尝试了这段代码:

$donem=array();

foreach($array2 as $ar){

 foreach($array1 as $key => $value){
  if($key==$ar['DONEMKODU']){

   $donem[]=$ar['DONEM'];
}
}
}

但是我的代码不起作用,我们应该怎么做才能做到这一点?

谢谢

您正在通过$array1键进行迭代,但是它具有一个值为KAYSERİ EĞİTİM VE ARAŞTIRMA HASTANESİ 因此,如果您需要更深层次的迭代,请将代码更改为

$donem=array();

foreach ($array1 as $topValue){
    foreach ($topValue as $key => $value) {
        foreach ($array2 as $ar){
            if($key == $ar['DONEMKODU']){
                $donem[] = $ar['DONEM'];
            }
        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM