2010-11-22 17 views
7

मैं इस तरह एक साधारण सरणी है:सरल पीएचपी यादृच्छिक सरणी

$input = array('Line1', 'Line2', 'Line3'); 

और बेतरतीब ढंग से एक मान गूंज करना चाहते हैं। मैंने पहले यह किया है लेकिन याद नहीं कर सकता कि मैंने यह कैसे किया और array_rand के सभी उदाहरण अधिक जटिल लगते हैं जो मुझे चाहिए।

कोई मदद कर सकते हैं? धन्यवाद

उत्तर

18
echo $input[array_rand($input)]; 

array_rand() रिटर्न कुंजी है, तो हम $input में इसे वापस प्लग करने के लिए मूल्य प्राप्त करने की जरूरत है।

+0

हम कैसे केवल एक परिणाम दिखाते हैं जो यादृच्छिक है? – thevoipman

4

परिसर? क्या हम उसी manual page पर हैं?

$rand_key = array_rand($input, 1); 
+1

php.net पर कोई उदाहरण शीर्ष पर था जो मैं चाहता था जब मैं चाहता था कि कुछ आसान था। – Cameron

+0

@ कैमरॉन का इरादा है: यह सरणी कुंजी है। तत्व –

+0

तत्व का उपयोग करने के लिए '$ इनपुट [$ rand_key]' का उपयोग करें यदि * 0 * चयनित यादृच्छिक कुंजी है, तो यह चयनित यादृच्छिक कुंजी है। उसके साथ क्या मामला है? – KingCrunch

2

array_rand आपको किसी सरणी की यादृच्छिक कुंजी चुनने में मदद करेगा। वहां से आप मूल्य प्राप्त कर सकते हैं।

$randKey = array_rand($input); 
echo $input[$randKey]; 
2

बस एक ही समारोह: array_rand()

echo $input[array_rand($input,1)]; 
+0

waiwai933 द्वारा उपरोक्त उदाहरण में 1 नहीं है लेकिन आपके कोड के समान आउटपुट है। 1 क्या करता है – Cameron

+0

@Cameron मैनुअल में देखो। 'यदि आप केवल एक प्रविष्टि चुन रहे हैं, array_rand() एक यादृच्छिक प्रविष्टि के लिए कुंजी देता है। अन्यथा, यह यादृच्छिक प्रविष्टियों के लिए कुंजी की एक सरणी देता है। ऐसा किया जाता है ताकि आप यादृच्छिक कुंजी के साथ-साथ सरणी के मान भी चुन सकें। –

+0

* 1 * दूसरा तर्क डिफ़ॉल्ट मान है, इसलिए आप इसे छोड़ सकते हैं। – KingCrunch

3

आप शफल() का उपयोग कर सकते हैं और फिर पहले तत्व को चुन सकते हैं।

shuffle($input); 
echo $input[0]; 

लेकिन मैं array_rand() विधि के साथ जाऊंगा।

संबंधित मुद्दे