cari

Rumah  >  Soal Jawab  >  teks badan

Bagaimanakah PHP menentukan sama ada nilai kunci dalam tatasusunan menggunakan nama kunci yang sama dan mengeluarkan nilai kunci semasa dengan nama kunci yang sama?

<?php
$arr=array(
0=>array(
    1=>'鼠',
    15=>'牛',
    29=>'虎'
),
30=>array(
    50=>'兔',
    59=>'龙',
    65=>'蛇'
);
?>

Kod adalah seperti di atas, bagaimana untuk menentukan sama ada 50, 59, dan 65 tergolong dalam nama kunci yang sama dan mengeluarkan teks di bawah kesemua 30 nama kunci? Terima kasih terlebih dahulu Saya tidak meneliti isu ini selama sehari dan saya tidak tahu bagaimana untuk menilai.

typechotypecho2736 hari yang lalu868

membalas semua(1)saya akan balas

  • 学习ing

    学习ing2017-06-24 09:44:20

    $target = [50, 59, 65];
    foreach($arr as $index => $value) { // 遍历整个$arr
        $keys = array_keys($value); // 获取对应项的键值
    
        $check = true; // 默认为真,如果下面遍历中出现一个假值则为假,否则真值表示所有的目标键名都在此项中
    
        foreach($target as $target_key) { // 遍历所有的目标键名
            if(!in_array($target_key, $keys)) { // 如果发现目标键名不在当前项键名$keys中,则设置$check为假值,并直接跳出
                $check = false;
                break;
            }
        }
    
        if($check) { // 通过了键名检测,那么这就是要找的项,输出
            print_r($index);
            print_r($value);
        }
    }

    Output:

    30Array ( [50] => 兔 [59] => 龙 [65] => 蛇 )

    (Oleh kerana kod menggunakan print_r tanpa menambah pemisah baris, kandungan semua dipaparkan pada satu baris)

    balas
    0
  • Batalbalas