क्या php में शब्दकोष हैं?


87

उदाहरण के लिए:

$names = {[bob:27, billy:43, sam:76]};

और फिर इसे इस तरह से संदर्भित करने में सक्षम हो:

 $names[bob]

1
"डिक्शनरी" को परिभाषित करें। क्या आप एक साधारण साहचर्य सरणी की बात कर रहे हैं?
jerluc

यदि आप किसी डेटाबेस से डेटा प्राप्त कर रहे हैं / प्राप्त कर रहे हैं, तो क्या आप इसके बजाय एक डेटाबेस के लिए एक शब्दकोश की तलाश में नहीं होंगे?
निकलैस

सुनो, वास्तव में क्या im करने के लिए पीड़ित है। और idk, मैं havent सोचा tht .... lol
bzupnick

@ कॉर्बिन के पास आपका जवाब है
jerluc

1
@bzupnick तो आप उन्हें asort करना चाहिए ।
सायफन

जवाबों:


104

http://php.net/manual/en/language.types.array.php

<?php
$array = array(
    "foo" => "bar",
    "bar" => "foo",
);

// as of PHP 5.4
$array = [
    "foo" => "bar",
    "bar" => "foo",
];
?>

मानक सरणियों का उपयोग उस तरह से किया जा सकता है।


सरणियों के साथ मुद्दा यह है कि जब मैं उन्हें सॉर्ट () करता हूं, तो मुझे सूचकांक को रखने की जरूरत है, जो कि डीबी कुंजी है, इसलिए मैं उस मूल्य को फिर से क्वेरी कर सकता
हूं

2
यह पेज देखें: php.net/manual/en/array.sorting.php । PHP ;-) में 20 से अधिक छंटाई विधियाँ हैं। आपको शायद जरूरत पड़ेगी ksort
ग्रैड वैन होर्क

2
@ फेलिक्स: हाँ। मेरा मतलब था कि इस मामले में ;-) एसॉर्ट बेहतर है। :-)
ग्रैड वैन होर्क

या अरसोर्ट याह? क्योंकि मुझे सबसे ज्यादा जरूरत है शीर्ष पर
bzupnick

2
सह-कार्यकर्ता ने सी बैकग्राउंड से php में काम करना शुरू किया। उन्होंने मुझसे पूछा कि php में एक शब्दकोश कैसे बनाया जाए, और मैंने कहा कि wtf एक शब्दकोश है o_o अब मुझे पता है
कप्तान हाइपरटेक्स्ट

14

नहीं, php में कोई शब्दकोश नहीं है। आपके पास निकटतम चीज़ एक सरणी है। हालाँकि, एक सरणी एक शब्दकोष से भिन्न है जिसमें सरणियों में एक सूचकांक और एक कुंजी दोनों हैं। शब्दकोशों में केवल कुंजियाँ हैं और कोई अनुक्रमणिका नहीं है। उससे मेरा मतलब क्या है?

$array = array(
    "foo" => "bar",
    "bar" => "foo"
);

// as of PHP 5.4
$array = [
    "foo" => "bar",
    "bar" => "foo",
];

उपरोक्त पंक्ति के साथ निम्नलिखित पंक्ति की अनुमति है, लेकिन यदि यह एक शब्दकोश है तो एक त्रुटि देगा।

print $array[0]

पायथन में सरणियाँ और शब्दकोश दोनों हैं।


0

सामान्य arrayएक शब्दकोश डेटा संरचना के रूप में काम कर सकता है। सामान्य तौर पर इसका बहुउद्देशीय उपयोग होता है: सरणी, सूची (वेक्टर), हैश तालिका, शब्दकोश, संग्रह, ढेर, कतार आदि।

$names = [
    'bob' => 27,
    'billy' => 43,
    'sam' => 76,
];

$names['bob'];

और विस्तृत डिजाइन के कारण यह विशिष्ट डेटा संरचना का कोई पूर्ण लाभ प्राप्त नहीं करता है। आप अपनी खुद की डिक्शनरी को लागू ArrayObjectकर सकते हैं या आप SplObjectStorageक्लास का उपयोग कर सकते हैं जो कि मैप (डिक्शनरी) का कार्यान्वयन है जिससे ऑब्जेक्ट्स को चाबियों के रूप में सौंपा जा सकता है।


0

PHP में साहचर्य सरणी वास्तव में एक शब्दकोश के रूप में माना जाता है।

PHP में एक सरणी वास्तव में एक ऑर्डर किया गया नक्शा है। एक नक्शा एक प्रकार है जो मूल्यों को कुंजियों से जोड़ता है। इसे एक सरणी, सूची (वेक्टर), हैश टेबल (एक मानचित्र का कार्यान्वयन), शब्दकोश , संग्रह, ढेर, कतार और शायद अधिक के रूप में माना जा सकता है ।

<?php
$array = array(
    "foo" => "bar",
    "bar" => "foo",
);

// Using the short array syntax
$array = [
    "foo" => "bar",
    "bar" => "foo",
];
?>

एक सरणी एक शब्दकोष से भिन्न है जिसमें सरणियों में एक सूचकांक और एक कुंजी दोनों हैं। शब्दकोशों में केवल कुंजियाँ हैं और कोई अनुक्रमणिका नहीं है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.