2013-11-28 3 views
5

मैं वहाँ इस के लिए एक समारोह है यकीन है:से एक सरणी के कुछ तत्वों जाओ उसके प्रमुख

मैं क्या है:

$myArray = array('foo' => 123, 'bar' => 456, 'lou' => 789, 'wuh' => 'xyz'); 
$iNeed = array('foo', 'lou'); 

मैं कुंजी मान युग्म कैसे प्राप्त कर सकते हैं कि $iNeed:

$output = super_magic_function($iNeed, $myArray); 
// output should be array('foo' => 123, 'lou' => 789); 

कैसे है कि है super_magic_function (देशी php यदि संभव हो तो)

+0

क्यों आप इसे बनाने नहीं कर सकते ... ? –

+0

आप कुछ क्यों नहीं करते हैं, और फिर यदि यह काम नहीं करता है और आप यह नहीं समझ सकते हैं कि क्यों, हम पाते हैं कि आपके लिए –

+0

@ हेनकजेन्सन मैंने'array_intersect 'के साथ प्रयास किया है लेकिन एक खाली सरणी – Xaver

उत्तर

6
$output = array_intersect_key($myArray, array_flip($iNeed)); 
बुलाया

आप एक समारोह के रूप में यह की जरूरत है:

function super_magic_function($array, $required) { 
    return array_intersect_key($array, array_flip($required)); 
} 

आउटपुट:

Array 
(
    [foo] => 123 
    [lou] => 789 
) 

प्रलेखन: array_intersect_key(), array_flip()

Demo.

+1

उत्कृष्ट उत्तर के बराबर संख्या होना चाहिए। –

+0

प्रतिभा! यही वह है जिसे मैं – Xaver

+0

वाह के लिए खोज रहा हूं - डेमो केक पर टुकड़ा है! – DavidC

संबंधित मुद्दे