Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Jaka to funkcja?
MMySlime
post
Post #1





Grupa: Zarejestrowani
Postów: 45
Pomógł: 1
Dołączył: 22.08.2012

Ostrzeżenie: (0%)
-----


Witam,
czy jest funkcja która działałaby podobnie na zasadzie array_replace, która nie dodaje wartości?

Przykład:

Array_Replace:
  1. array_replace(Array(true), Array(false,true);


Output:
  1. Array(false,true);


Chodzi mi żeby output był Array(false);

Dzięki za pomoc (IMG:style_emoticons/default/smile.gif)

@Ref
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
skowron-line
post
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


Nie rozumiem o co chodzi.
Może jakiś przykład jakie dane wejściowe i jakie dane wyjściowe.
Go to the top of the page
+Quote Post
Greg0
post
Post #3





Grupa: Zarejestrowani
Postów: 264
Pomógł: 54
Dołączył: 31.08.2007
Skąd: Tychy

Ostrzeżenie: (0%)
-----


Zaglądałeś do manuala jak ta funkcja działa chociaż? array_replace
Jeśli chcesz mieć jednoelementową tablicę na wyjściu to nie wstawiaj tam dwuelementowej do podstawienia na wejściu
Go to the top of the page
+Quote Post
redeemer
post
Post #4





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----


Może chodzi o array_diff?
  1. $a = array(true);
  2. $b = array(false,true);
  3. var_dump( array_merge( array_diff($a, $b), array_diff($b, $a) ) );
Go to the top of the page
+Quote Post
MMySlime
post
Post #5





Grupa: Zarejestrowani
Postów: 45
Pomógł: 1
Dołączył: 22.08.2012

Ostrzeżenie: (0%)
-----


Chodzi mi dokładnie o to aby zamienić wartości z tymi samymi kluczami i aby nie było w pierwszej tablicy niepotrzebnych kluczy z drugiej.

Mamy dwie tablice: Array(1 => 1, 2 => 2, 3 => 3); Array(1 => 5, 2 => 6, 3 => 7, 4 => 8, 5 => 9);

I chcę otrzymać na wyjściu pierwszą tablicą z zamienionymi parametrami ale bez dodatkowych: Array(1 => 5, 2=> 6, 3=> 7);

Go to the top of the page
+Quote Post
redeemer
post
Post #6





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----


array_replace + array_intersect_key
  1. $a = Array(1 => 1, 2 => 2, 3 => 3);
  2. $b = Array(1 => 5, 2 => 6, 3 => 7, 4 => 8, 5 => 9);
  3.  
  4. var_dump(array_intersect_key(array_replace($a, $b),$a));

Nie wiem czy zwykła pętla nie będzie szybsza:
  1. foreach($a as $key => $value) {
  2. if (array_key_exists($key, $b)) $a[$key] = $b[$key]; // wynik w tablicy $a
  3. //$c[$key] = (array_key_exists($key, $b) ? $b[$key] : $a[$key]); // z dodatkową tablicą $c na wynik
  4. }
Go to the top of the page
+Quote Post
MMySlime
post
Post #7





Grupa: Zarejestrowani
Postów: 45
Pomógł: 1
Dołączył: 22.08.2012

Ostrzeżenie: (0%)
-----


Dzięki za pomoc (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 10:36