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


How to Determine If array key equal to another array value in PHP

我有一个像这样的数组-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
        )
)

并且这个数组键作为另一个数组值-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
        )
) 

如果数组 1 键等于数组 2 DONEMKODU 值,我想从数组 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'];
            }
        }
    }
}