Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> PHP

PHP में सरणी से डुप्लिकेट तत्व हटाना

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

उदाहरण

<?php
$my_arr = array(45, 65, 67, 99, 81, 90, 99, 45, 68);

echo "The original array contains \n";
print_r($my_arr);

$my_arr = array_flip($my_arr); // मान -> कुंजी
$my_arr = array_flip($my_arr); // कुंजी -> मान (डुप्लिकेट गायब)
$my_arr = array_values($my_arr); // संख्यात्मक कुंजियाँ रीसेट

echo "\n The array after removing duplicate elements is \n";
print_r($my_arr);
?>

आउटपुट

The original array contains
Array ( [0] => 45 [1] => 65 [2] => 67 [3] => 99 [4] => 81 [5] => 90 [6] => 99 [7] => 45 [8] => 68 )

The array after removing duplicate elements is
Array ( [0] => 45 [1] => 65 [2] => 67 [3] => 99 [4] => 81 [5] => 90 [6] => 68 )

चरण-दर-चरण व्याख्या:

  1. array_flip($my_arr): मान कुंजी बन जाते हैं। डुप्लिकेट मान (45, 99) एक ही कुंजी बनाते हैं — दूसरी बार ओवरराइट होता है।
  2. दूसरा array_flip(): कुंजियाँ वापस मान बन जाती हैं, अब अद्वितीय।
  3. array_values(): संख्यात्मक कुंजियाँ 0,1,2... क्रमिक रूप से रीसेट करता है।

बिल्ट-इन विकल्प: array_unique()

<?php
$my_arr = array(45, 65, 67, 99, 81, 90, 99, 45, 68);
$unique = array_unique($my_arr);
$unique = array_values($unique); // कुंजियाँ रीसेट
print_r($unique);
?>

यह अधिक पठनीय और सीधा है। array_flip ट्रिक पुराने PHP संस्करणों के लिए उपयोगी थी या जब कुंजी-संरक्षण जरूरी हो।

तुलना

विधिफायदेनुकसान
array_flip x2कुंजी-संरक्षित (पहली घटना की कुंजी रखता है), तेज़केवल स्ट्रिंग/इंट मानों के लिए काम करता है, कम पठनीय
array_unique()मानक, पठनीय, सभी प्रकार समर्थितथोड़ा धीमा, पहली घटना रखता है

सहयोगी सरणियों के लिए

<?php
$arr = ['a'=>1, 'b'=>2, 'c'=>1, 'd'=>3];
$unique = array_unique($arr); // कुंजियाँ संरक्षित: ['a'=>1, 'b'=>2, 'd'=>3]
?>
  1. - PHP में Array Keys Reset करना

    PHP में array के keys को reset करके 0 से शुरू होने वाले numeric keys बनाना। विधि 1: array_values() (सबसे सरल) string(3) 110 } */ विधि 2: array_merge() (Side Effect) c] विधि 3: Custom Start Index के साथ 120] विधि 4: foreach Loop (Manual Control) Hanks] Multidimensional Arrays के लिए C] ];

  1. - PHP में Array Element Remove करके Re-index करना

    PHP में array से element remove करने और keys को re-index करने के तरीके। समस्या: unset() Keys Re-index नहीं करता Tim ) */ समाधान 1: array_values() - Re-index करें Tim ) */ समाधान 2: array_splice() - Remove + Re-index एक साथ e] समाधान 3: Value द्वारा Remove (Key पता नहीं) <?php $arr = [John

  1. - C# में ऐरे से एलिमेंट्स कैसे एक्सेस करें?

    सबसे पहले, ऐरे को परिभाषित और इनिशियलाइज़ करें:int[] p = new int[3] {99, 92, 95};अब, ऐरे एलिमेंट्स प्रदर्शित करें:for (j = 0; j < 3; j++) { Console.WriteLine(Price of Product[{0}] = {1}, j, p[j]); }किसी भी एलिमेंट को एक्सेस करने के लिए, बस उस एलिमेंट का इंडेक्स शामिल करें जिसे आप चाहते हैं:p[2];