提取(搜索)字典的子集?

时间:2014-03-18 22:26:14

标签: php dictionary

我想创建一个字典(或列表),它是PHP中另一个字典的子集。请看下面我用Python编写的代码:

ThePythons = {
    'GC': 'Graham Chapman',
    'JC': 'John Cleese',
    'EI': 'Eric Idle',
    'MP': 'Michael Palin'
}

query = ['EI', 'JC']

output = [[item,ThePythons[item]] for item in query if item in ThePythons]
print(output)

输出是:

[['EI', 'Eric Idle'], ['JC', 'John Cleese']]

我不知道如何在PHP中实现相同的功能。请给我PHP中的相应代码。非常感谢提前!

1 个答案:

答案 0 :(得分:1)

以下内容应该有效:

<?php

$thePythons = array(
    'GC' => 'Graham Chapman',
    'JC' => 'John Cleese',
    'EI' => 'Eric Idle',
    'MP' => 'Michael Palin'
);

$query = array(0 => 'EI', 1 => 'JC');

$resultList = array();

for ($i=0; $i<sizeof($query); $i++) {
    $resultList[$i] = array($query[$i] => $thePythons[$query[$i]]);
}

var_dump($resultList);

?>

<强>输出

array(2) {
  [0]=>
  array(1) {
    ["EI"]=>
    string(9) "Eric Idle"
  }
  [1]=>
  array(1) {
    ["JC"]=>
    string(11) "John Cleese"
  }
}