कोई मानदंड नहीं है, लेकिन मुझे व्यक्तिगत रूप से ऐसा लगता $array[]है कि देखने के लिए क्लीनर है, और ईमानदारी से मिलीसेकंड पर बालों को विभाजित करना बहुत ही अप्रासंगिक है जब तक कि आप अपने सरणी के सैकड़ों हजारों स्ट्रिंग्स को जोड़ने की योजना नहीं बनाते हैं।
संपादित करें : इस कोड को चलाएं:
$t = microtime(true);
$array = array();
for($i = 0; $i < 10000; $i++) {
$array[] = $i;
}
print microtime(true) - $t;
print '<br>';
$t = microtime(true);
$array = array();
for($i = 0; $i < 10000; $i++) {
array_push($array, $i);
}
print microtime(true) - $t;
पहली विधि का उपयोग $array[]करना दूसरे की तुलना में लगभग 50% तेज है।
कुछ बेंचमार्क परिणाम:
Run 1
0.0054171085357666 // array_push
0.0028800964355469 // array[]
Run 2
0.0054559707641602 // array_push
0.002892017364502 // array[]
Run 3
0.0055501461029053 // array_push
0.0028610229492188 // array[]
यह आश्चर्य की बात नहीं होनी चाहिए, क्योंकि PHP मैनुअल यह नोट करता है:
यदि आप सरणी में एक तत्व जोड़ने के लिए array_push () का उपयोग करते हैं, तो $ array [] = का उपयोग करना बेहतर होता है क्योंकि उस तरह से फ़ंक्शन को कॉल करने का कोई ओवरहेड नहीं होता है।
जिस तरह से इसे अभिव्यक्त किया गया है, मुझे आश्चर्य नहीं होगा यदि array_pushकई मूल्यों को जोड़ने पर अधिक कुशल हो। EDIT : जिज्ञासा से बाहर, कुछ और परीक्षण किए, और यहां तक कि बड़ी मात्रा में परिवर्धन के लिए, व्यक्तिगत $array[]कॉल एक से अधिक बड़ी हैं array_push। दिलचस्प।