arrays - php array_merge without erasing values? -
पृष्ठभूमि: ट्रेवर एक मानक एल्गोरिदम के PHP कार्यान्वयन के साथ काम कर रहा है: एक मुख्य सेट डिफ़ॉल्ट नाम-मान जोड़े, और उन नाम-मान जोड़े को अपडेट करते हैं, लेकिन केवल उन नाम-मान जोड़े के लिए जहां एक मान्य अद्यतन मान वास्तव में मौजूद है।
समस्या: डिफ़ॉल्ट रूप से, PHP Array_merge इस तरह काम करता है ... यह रिक्त मान के साथ एक रिक्त मूल्य को अधिलेखित करेगी।
$ aamain = array ('firstname' = & gt; 'peter', 'age' = & gt ; '32 ',' राष्ट्र '= & gt;' '); $ Update = सरणी ('प्रथमनाम' = & gt; '', 'lastname' = & gt; 'ग्रिफिन', आयु = & gt; '33 ',' राष्ट्र '= & gt;' यूएसए '); print_r (array_merge ($ aamain, $ अद्यतन)); / * अर्रे ([firstname] = & gt; // & lt; - अपडेट इसे रिक्त, नहीं शांत! [उम्र] = & gt; 33 // & lt; - अपडेट 33 पर सेट करें, यह अच्छा है [अंतिमनाम] = & Gt; ग्रिफिन // & lt; - अपडेट ने यह कुंजी-वैल्यू जोड़ी जोड़ा, यह शांत [राष्ट्र] = & gt; यूएसए // & lt; - अपडेट रिक्त में भर गया, यह शांत है।) * / प्रश्न: array_merge करने के लिए सबसे कम-लाइन-ऑफ-कोड तरीका क्या है जहां रिक्त मान पहले से मौजूद मानों को कभी भी अधिलेखित नहीं करते?
print_r (array_coolmerge ($ aamain, $ अद्यतन)); / * अर्रे ([firstname] = & gt; पीटर // & lt; - यदि कोई पहले से मौजूद है, तो उसे खाली नहीं मानें! [उम्र] = & gt; 33 [अंतिम नाम] = & gt; ग्रिफिन [राष्ट्र] = & gt; यूएसए ) * / अद्यतन: 2016-06-17T11: 51: 54 प्रश्न का संदर्भ स्पष्ट करने और चर के नाम बदलने के साथ अपडेट किया गया था।
ठीक है, अगर आप इसे करने के लिए एक "चतुर" तरीके चाहते हैं, तो यह है, लेकिन यह संभवतः एक लूप कर रहा है।
$ विलय = सरणी_अर्ज (array_filter ($ foo, 'strval'), array_filter ($ bar, 'strval')); संपादित करें: या + ...
Comments
Post a Comment