Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Element na początek tablicy
stimoroll
post 26.08.2003, 08:33:03
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 16.06.2003

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


Jak wstawić emelent na początku tablicy - szybko i skutecznie.
Tak bym nie stracił jakiegokolwiek elementu z tablicy i by było szybko.


--------------------
Zakopane
Go to the top of the page
+Quote Post
marcin96
post 26.08.2003, 09:16:46
Post #2





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 21.08.2003
Skąd: Będzin

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


Zaglądając do manuala do działu o tablicach:
http://pl.php.net/manual/pl/ref.array.php

i tam znajdziesz coś takiego:

array_unshift

snitch.gif)
Go to the top of the page
+Quote Post
stimoroll
post 26.08.2003, 09:43:35
Post #3





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 16.06.2003

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


Tylko jakbyś korzystał z tej funkcj to byś wiedział że jak masz tablicę, która posiada indeks 0 , czyli $array[0] to ta funkcja nadpisuje ten element. A tego bym nie chciał.


--------------------
Zakopane
Go to the top of the page
+Quote Post
stimoroll
post 26.08.2003, 09:46:04
Post #4





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 16.06.2003

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


Tymczasowo zrobiłem coś takiego
[php:1:8792cd3fbe]<?php
function shift_array($array,$val)
{
$tmp=array();
$tmp[]=$val;
foreach($array as $val)
{$tmp[]=$val;}
return $tmp;
}
?>[/php:1:8792cd3fbe]
ale się trochę wlecze - tym bardziej że tablice są pokaźne - może ktoś zna lepsze rozwiązanie?


--------------------
Zakopane
Go to the top of the page
+Quote Post
marcin96
post 26.08.2003, 11:18:04
Post #5





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 21.08.2003
Skąd: Będzin

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


No to dlaczego u mnie taki kod:

[php:1:9b063b53fd]
<pre>
<?php

$array[] = 'jablko';
$array[] = 'gruszka';
array_unshift($array, 'banan');

var_dump($array);


$array2[0] = 'pomarancza';
$array2[1] = 'jablko';
$array2[2] = 'gruszka';
array_unshift($array2, 'kiwi');

var_dump($array2);

?>
</pre>[/php:1:9b063b53fd]

wypluwa cos takiego:
Kod
array(3) {

  [0]=>

  string(5) "banan"

  [1]=>

  string(6) "jablko"

  [2]=>

  string(7) "gruszka"

}



array(4) {

  [0]=>

  string(4) "kiwi"

  [1]=>

  string(10) "pomarancza"

  [2]=>

  string(6) "jablko"

  [3]=>

  string(7) "gruszka"

}


Zawsze mozesz sprobowac:
[php:1:9b063b53fd]
array_reverse($array);
$array[] = $now_element;
array_reverse($array);
[/php:1:9b063b53fd]
Go to the top of the page
+Quote Post
stimoroll
post 26.08.2003, 14:10:19
Post #6





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 16.06.2003

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


Nie wiem dlaczego. U mnie gorzej było ze zdalnym serwerem ,na którym mam konto z php.
Tam ta funkcja nadpisywała pierwszy element.


--------------------
Zakopane
Go to the top of the page
+Quote Post
webmaniak
post 7.01.2013, 13:33:28
Post #7





Grupa: Zarejestrowani
Postów: 371
Pomógł: 30
Dołączył: 14.04.2010

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


Witam, znalazłem dość stary temat, no ale idealnie pasuje do mojego problemu.
Mianowicie chciałbym dodać jakiś element na początek tablicy. Nie jest to oczywiście kłopot, gdyż jest funkcja array_unshift, ale... nie umiem dodać wartości z kluczem, przykład:
  1. $stos = array('pomarańczowa'=>"pomarańcza", "banan");
  2. $tab2 = array("klucz" => "wartość");
  3. array_unshift($stos, $tab2);
  4. print_r($stos);

w rezultacie mam:
  1. Array ( [0] => Array ( [klucz] => wartość ) [pomarańczowa] => pomarańcza [1] => banan )

Czyli array w array. To w moim przypadku jest kiepskie rozwiązanie, gdyż później chcę tą zmienną(w tym przykładzie odpowiada jej zmienna $stos) wstawić do formularza w select i pojawia się zero albo znak "/". Niestety, ale w manualu nie widzę rozwiązania tego problemu = nie umiem wykorzystać zawartych tam przykładów do rozwiązania mojego problemu. Pomoże ktoś?


--------------------
Pomogłem - kliknij , wprowadziłem w błąd - poinformuj niżej lub na pm.
Go to the top of the page
+Quote Post
_Borys_
post 7.01.2013, 14:30:12
Post #8





Grupa: Zarejestrowani
Postów: 587
Pomógł: 190
Dołączył: 5.02.2011
Skąd: 64-800

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


A może tak:

  1. $stos = array('pomarańczowa'=>"pomarańcza", "banan");
  2. $tab2 = array("klucz" => "wartość");
  3. $wynik = $tab2 + $stos;
  4. print_r($wynik);


przy array_merge jest taki przykład.
Go to the top of the page
+Quote Post
webmaniak
post 7.01.2013, 14:40:14
Post #9





Grupa: Zarejestrowani
Postów: 371
Pomógł: 30
Dołączył: 14.04.2010

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


Może i tak być smile.gif Błędnie szukałem w funkcji która dodawała element na początek tabeli. Dzięki wielkie:)


--------------------
Pomogłem - kliknij , wprowadziłem w błąd - poinformuj niżej lub na pm.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.07.2025 - 03:10