2009-11-14 25 views
5

मेरे कोड:in_array() काम नहीं कर रहा

<?php 

$pass = "12345"; 

//checkPass($pass, $user, $length); 
$file = file_get_contents("common.txt"); 
$array = explode("\n", $file); 
if(in_array($pass, $array) == true) { 
echo "it's in the array"; 
} 
?> 

सरणी की पहली कुछ पंक्तियों (i print_r इस्तेमाल किया ($ सरणी) ...):

 
Array ([0] => 12345 [1] => abc123 [2] => password [3] => computer [4] => 123456 
[5] => tigger [6] => 1234 [7] => a1b2c3 [8] => qwerty [9] => 123 [10] => xxx 
[11] => money [12] => test [13] => carmen [14] => mickey [15] => secret 
[16] => summer [17] => internet [18] => service [19] => canada [20] => hello 
[21] => ranger [22] => shadow [23] => baseball [24] => donald [25] => harley 
[26] => hockey [27] => letmein [28] => maggie [29] => mike [30] => mustang 
[31] => snoopy 
+1

आप पोस्ट जहां $ समय में अपने मूल्य के बराबर पारित सेट कर सकते हैं: आप array_map() का उपयोग कर सरणी trim() साथ विस्फोट के बाद इन पात्रों से छुटकारा पाने के कर सकते हैं? –

+0

यह फ़ाइल के शीर्ष पर है, ओपनिंग PHP टैग के ठीक बाद। मैंने इसे सब कुछ ऊपर संपादित करने की कोशिश की लेकिन कुछ सही काम नहीं कर रहा है। – Andrew

उत्तर

24

यदि आपकी फ़ाइल विंडोज लाइनब्रेक्स का उपयोग करती है (\r\n में लाइनें समाप्त होती हैं), तो आपको अपने प्रत्येक स्ट्रिंग के अंत में एक अदृश्य \r वर्ण मिलेगा। उनमें से एक पर strlen चल() द्वारा इसके लिए टेस्ट:

echo $array[0] . ': ' . strlen($array[0]) . ' chars'; 

तो आपको मिल

12345: 6 chars 

की तरह कुछ तुम्हें पता है कि समस्या है!

$array = array_map('trim', $array); 
+0

धन्यवाद: डी इसके लिए थोड़ी देर लग रहा था। – Peibol

+0

धन्यवाद @ जेरेमी, वह वह जगह थी जहां मेरा in_array विफल रहा था। – CommentLuv

1

$ के एक मूल्य पारित किया गया है 0 - 31?

+0

$ पास = "12345"; – Andrew

2

यहाँ मैं क्या आया कि के साथ काम किया है:

<?php 

$file = file_get_contents("common.txt"); 

$array = explode("\n", $file); 

$pass = "snoopy"; 

if(in_array($pass, $array) == true) {  
    echo "it's in the array";  
}else {  
    echo "it's not";  
} 

?> 
2

आप भी उस पर trim उपयोग कर सकते हैं। अदृश्य वर्ण हो सकते हैं जिन्हें आप आंखों से नहीं देख रहे हैं।

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