Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Unikalne klucze w tablicy
Forum PHP.pl > Forum > PHP
kilas88
Szukam funkcji lub sposobu na wyszczególnienie w tablicy tylko pozycji z unikalnymi kluczami liczbowymi, np.

  1. <?php
  2. $zmienna1 = array(
  3. 1 => 'a',
  4. 2 => 'b',
  5. 3 => 'c'
  6. );
  7.  
  8. $zmienna2 = array(
  9. 2 => 'b',
  10. 3 => 'c',
  11. 4 => 'd'
  12. );
  13.  
  14. $efekt = array_unique_keys($zmienna1, $zmienna2);
  15.  
  16. print_r ($efekt);
  17. ?>
  18.  
  19. Array (
  20.  [1] => a
  21.  [2] => b
  22.  [3] => c
  23.  [4] => d
  24. )


W jaki sposób osiągnąć powyższy efekt ?
kefirek
Może tak zobacz
  1. <?php
  2. $zmienna1 = array(
  3. 1 => 'a',
  4. 2 => 'b',
  5. 3 => 'c'
  6. );
  7.  
  8. $zmienna2 = array(
  9. 2 => 'b',
  10. 3 => 'c',
  11. 4 => 'd'
  12. );
  13.  
  14.  
  15. $wynik = array_merge($zmienna1, $zmienna2);
  16. $new = array_unique ($wynik);
  17. print_r ($new);
  18. ?>
kilas88
Nie mogę zastosować array_unique, gdyż wywala mi elementy ze zduplikowaną wartością.

Dodam, że operują na tablicach typu:

  1. <?php
  2. Array ( [0] => 3 [1] => 3 [2] => 3 [3] => 3 [4] => 3 [5] => 3 [6] => 3 [7] => 3 [8] => 3 [9] => 3 [10] => 4 [11] => 3 [12] => 5 [13] => 5 [14] => 1 )
  3. ?>
kacka
  1. <?php
  2. $zmienna1 = array(
  3. 1 => 'a',
  4. 2 => 'b',
  5. 3 => 'c'
  6. );
  7.  
  8. $zmienna2 = array(
  9. 2 => 'b',
  10. 3 => 'c',
  11. 4 => 'd'
  12. );
  13.  
  14. foreach ($zmienna1 as $key => $val)
  15. {
  16.    if (!isset($zmienna2[$key]))
  17.    {
  18.        $unikalne[] = $zmienna1[$key];
  19.    }
  20. }
  21.  
  22. foreach ($zmienna2 as $key => $val)
  23. {
  24.    if (!isset($zmienna1[$key]))
  25.    {
  26.        $unikalne[] = $zmienna2[$key];
  27.    }
  28. }
  29.  
  30.  
  31. print_r($unikalne);
  32. ?>

Nie wiem czy o to chodzi?
kilas88
  1. <?php
  2. $zmienna1 = array(
  3. 1 => 'a',
  4. 2 => 'b',
  5. 3 => 'c'
  6. );
  7.  
  8. $zmienna2 = array(
  9. 2 => 'b',
  10. 3 => 'c',
  11. 4 => 'd'
  12. );
  13.  
  14. $efekt = $zmienna1 + $zmienna2;
  15.  
  16. print_r ($efekt);
  17. ?>


to rozwiązuje mój problem biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.