2013-01-12 18 views
6

के साथ काम करने के लिए in_array नहीं मिल सकता है मुझे यह दिखाने में समस्या हो रही है कि कुछ संख्याएं (उत्पाद संख्याएं) एक एसोसिएटिव सरणी में मौजूद हैं। जब मैं इस कोड को आजमाता हूं, तो मुझे हमेशा "झूठा" मिलता है।सहयोगी सरणी

<?php 

$products = array(
    '1000' => array('name' => 'Gibson Les Paul Studio', 
        'price' => 1099.99), 
    '1001' => array('name' => 'Fender American Standard Stratocaster', 
        'price' => 1149.99), 
    '1002' => array('name' => 'Jackson SL1 USA Soloist', 
        'price' => 2999.99) 
); 

if (in_array('1001', $products)) { 
    echo "true"; 
} else { 
    echo "false"; 
} 
?> 

मैं वास्तव में किसी भी मदद की सराहना करता हूं। धन्यवाद!

उत्तर

23

आप array_key_exists(), नहीं in_array() लिए देख रहे हैं के बाद से आप एक विशिष्ट कुंजी के लिए खोज रहे हैं, खोज नहीं मान:

if(array_key_exists('1001', $products)) 
+0

वही है जो मुझे चाहिए! मैं सभी अंतर्निहित PHP कार्यों के लिए बिल्कुल नया हूं। धन्यवाद! – thomaskessel

3

आप in_array() यहाँ उपयोग नहीं कर सकते (जांच करता है कि एक मूल्य के एक सरणी में मौजूद है)।

array_key_exists() (आज़माएं यदि चेक किया गया कुंजी या अनुक्रमणिका सरणी में मौजूद है) की जांच करें।

if (array_key_exists('1001', $products)) { 
    echo "true"; 
} else { 
    echo "false"; 
} 

तुम भी isset() और empty() साथ कुंजी अस्तित्व के लिए देख सकते हैं।

+0

मुझे यह बताने के लिए धन्यवाद! इससे मुझे बहुत मदद मिलती है। – thomaskessel

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