मैं व्यक्तिगत रूप से दूसरे गॉर्डन से सुझाव सिर्फ एक लैम्ब्डा (या बनाया) समारोह और किसी भी कार्य का उपयोग करने चाहते हैं:
array_map(function($el) { return $el * 60; }, $input_array);
(पीएचपी> = 5.3) या
array_map(create_function('$el', 'return $el * 60;'), $input_array);
(पीएचपी < 5,3)
निश्चित रूप से मैं सरणी डुप्लिकेट करने के लिए कोई कारण भी देख (बोझिल हो सकता है अगर मूल्यों का बहुत कुछ शामिल कर रहे हैं); यह भी ध्यान दें कि foreach (जो मैं दूसरा आसान हो सकता है) का उपयोग खतरनाक भी हो सकता है यदि आप इसके साथ सावधानी से काम नहीं कर रहे हैं ... और फिर रखरखाव किसी भी तरह से चुनौतीपूर्ण हो सकता है (क्योंकि आपको हर बार इससे निपटना याद रखना होगा आप उस कोड पर काम करते हैं)।यदि आपके पास इस चरण में ऑप्टिमाइज़ करने के कोई कारण नहीं हैं (आईई आपके एप्लिकेशन में गति की समस्या नहीं है), अब इसे न करें और array_map का उपयोग करने की चिंता न करें। यदि आप वास्तव में जरूरत है तो आप अब रखरखाव की आसानी के बारे में सोच सकते हैं और बाद में अनुकूलित कर सकते हैं।
वास्तव में, यदि आप संदर्भ से जाना और फिर आप फिर से foreach का उपयोग करें, आप अप्रत्याशित परिणाम में कदम हो सकता है (नीचे उदाहरण देखें ...)
$a=array('1','2','3');
foreach ($a as &$v) {
$v *= 60;
}
print_r($a);
foreach ($a as $v);
print_r($a);
आउटपुट है:
सरणी ( [0] => 60 [1] => 120 [2] => 180 )
सरणी ( [0] => 60 [1] => 120 [2] => 120 )
शायद नहीं है कि तुम क्या दूसरा चक्र पर की उम्मीद है। यही कारण है कि मैं आम तौर पर जब मैं यह कर सकते हैं कॉम्बो ByRef foreach & से बचें।
मैं array_map/bcmul समाधान गॉर्डन बशर्ते आप अभी तक foreach या कस्टम कार्यों का उपयोग नहीं करना चाहते हैं, तो के लिए जाना होगा, आप * * 60 से सरणी गुणा नहीं है और इसके बजाय 60 से पीएचपी समय विभाजित पर विचार किया है ? –
मैं सभी उदाहरणों को आजमाने की कोशिश कर रहा हूं, बस मुझे पता है कि भविष्य में इसे कैसे किया जाए। Foreach पाश सबसे सरल लगता है। क्या * के बीच अंतर * है = और? – Henryz
Henryz: $ एक * = 6 $ एक = $ एक * 6 – lamas