Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zmiana struktury tablicy
damianooo
post
Post #1





Grupa: Zarejestrowani
Postów: 496
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

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


Witam , potrzebuję zmienić nieco istniejącą tablicę

Obecnie mam taką:

  1. $currentTable = array(
  2. 2 => array(
  3. 'value' => 23
  4. ),
  5. 5 => array(
  6. 'value' => 34
  7. ),
  8. 12 => array(
  9. 'value' => 56
  10. ),
  11. );


a potrzebuję mieć taką:

  1. $newTable = array(
  2. 2 => array(
  3. 'value' => 23,
  4. 'some' => 'costam'
  5. ),
  6. 5 => array(
  7. 'value' => 34,
  8. 'some' => 'costam'
  9. ),
  10. 12 => array(
  11. 'value' => 56,
  12. 'some' => 'costam'
  13. ),
  14. );


Próbowałem to zrobić tak:

  1. for ($i = 0; $i < count($currentTable); $i++) {
  2. $mySuperTable[$currentTable[$i]]['value'][] = $currentTable[$i]['value'];
  3. $mySuperTable[$currentTable[$i]]['some'][] = 'costam';
  4. }


ale nie wiem jak wstawić poprawny index. Jak widać w tablicy $currentTable mam indeksy takie: 2,5,12 a nie takie 0,1,2

proszę o podpowiedź,

dzięki








Ok, już wiem jak to trzeba było rozwiązać :

  1. $myKeysArray = array_keys($currentTable);
  2.  
  3. for ($i = 0; $i < count($myKeysArray); $i++) {
  4. $mySuperTable[$myKeysArray[$i]]['value'][] = $currentTable[$myKeysArray[$i]]['value'];
  5. $mySuperTable[$myKeysArray[$i]]['some'][] = 'costam';
  6. }


Chyba to jedyne rozsądne rozwiązanie . Czy można inaczej , prościej ?

Ten post edytował damianooo 3.08.2013, 11:10:49
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
redeemer
post
Post #2





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

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


Za pomocą foreach:
  1. foreach($tablica as $key => $value) {
  2. $tablica[$key]['some'] = 'costam';
  3. }
A jak koniecznie chcesz mieć to w nowej tablicy:
  1. $nowaTablica = $tablica;
  2. foreach($nowaTablica as $key => $value) {
  3. $nowaTablica[$key]['some'] = 'costam';
  4. }


--------------------
Go to the top of the page
+Quote Post
damianooo
post
Post #3





Grupa: Zarejestrowani
Postów: 496
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

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


zgadza się ... ale przekombinowałem, masakra ...

wielkie dzięki
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 Aktualny czas: 21.08.2025 - 06:23