यह प्रश्न केवल मेरे लिए है क्योंकि मैं हमेशा अनुकूलित कोड लिखना पसंद करता हूं जो सस्ते धीमे सर्वर (या ट्रैफ़िक के बहुत से सर्वर) पर भी चल सकता है
मैंने चारों ओर देखा और मुझे कोई उत्तर नहीं मिला। मैं सोच रहा था कि उन दो उदाहरणों के बीच क्या तेजी है, यह ध्यान में रखते हुए कि मेरे मामले में सरणी की चाबियाँ महत्वपूर्ण नहीं हैं (छद्म कोड स्वाभाविक रूप से:
<?php
$a = array();
while($new_val = 'get over 100k email addresses already lowercased'){
if(!in_array($new_val, $a){
$a[] = $new_val;
//do other stuff
}
}
?>
<?php
$a = array();
while($new_val = 'get over 100k email addresses already lowercased'){
if(!isset($a[$new_val]){
$a[$new_val] = true;
//do other stuff
}
}
?>
जैसा कि प्रश्न का बिंदु सरणी टकराव नहीं है, मैं यह जोड़ना चाहूंगा कि यदि आप आवेषण के टकराने से डरते हैं $a[$new_value]
, तो आप उपयोग कर सकते हैं $a[md5($new_value)]
। यह अभी भी टकराव का कारण बन सकता है, लेकिन उपयोगकर्ता द्वारा प्रदान की गई फ़ाइल ( http://nikic.github.com/2011/12/28/Supercolliding-a-PHP-array.html ) से पढ़ते समय एक संभावित DoS हमले से दूर ले जाएगा