मैं इस प्रकार एक सरणी है:मैं किसी अन्य सरणी की कुंजी के मानों से सरणी कैसे बना सकता हूं?
$arr1 = array(
0 => array(
'name' => 'tom',
'age' => 22
),
1 => array(
'name' => 'nick',
'age' => 18
)
);
हालांकि मैं सभी के नाम के होते हैं जो इसे से एक सरणी बनाना चाहते हैं, तो यह हो जाएगा:
$arr2 = array('tom', 'nick');
मैं array_filter()
पर ध्यान दिया है, लेकिन यह काम नहीं करेगा क्योंकि यह एक बहु-आयामी सरणी है!
प्रश्न
मैं एक बहु-आयामी सरणी से एक विशिष्ट कुंजी (name
) के मूल्यों के साथ एक सरणी बना सकते हैं कैसे?
$arr2 = array_map(function($person) {
return $person['name'];
}, $arr1);
लेकिन अगर आप एक PHP < 5.3 का उपयोग कर रहे हैं, यह बहुत एक सरल पाश उपयोग करने के लिए आसान है, array_map()
के बाद से: PHP के
जटिल लूप की तुलना में वैश्विक फ़ंक्शन बनाने के लिए अभी भी सक्षम है। – Christian
@ क्रिस्टियन साइबर्रास: सच है, लेकिन यह अनियंत्रित माइक्रो-फ़ंक्शंस के साथ नामस्थान को प्रदूषित करता है। लूप यहां _that_ जटिल नहीं है। यह एक बहुत ही सरल पुनरावृत्ति है (यह मानते हुए कि प्रारंभिक सरणी में भारी मात्रा में डेटा नहीं है)। – jwueller
वास्तव में, के लिए .. प्रत्येक तेज है। इसका परीक्षण किया और यह 2 - 3x तेज लगता है। आपको यह नहीं बता सका कि क्यों .... –