2014-03-18 48 views
1

我想創建一個字典(或列表),它是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代碼。提前謝謝了!

+0

我看到蟒蛇不是PHP –

+0

@RPM我知道。有Python代碼,因爲我根本不知道PHP。 : -/ – Scottie

回答

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" 
    } 
} 
+0

謝謝! :-)明天我會檢查它,因爲現在我沒有PHP解釋器。 – Scottie

+0

@Scottie不客氣。您可以在這裏查看/驗證腳本的輸出:http://ideone.com/TPZeTu(向下滾動至「stdout」所在的位置)。 – itsjeyd

+0

@Scottie任何運氣嘗試我的解決方案嗎?如果您發現有任何問題,我很樂意提高我的答案。 – itsjeyd