Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]mam problem z tablicami
Forum PHP.pl > Forum > Przedszkole
jacus1211
Witam! Mam problem. Nie działa mi operacja złączenia tablic. Wpisałem wszystko dokładnie tak, jak było napisane w książce. Nie działa. Biorę więc gotowy kod z płyty dołączonej do książki. Też nie działa. Czy może mieć na to wpływ fakt, że mam 'angielski' komputer (tzn. mam angielskiego Windowsa)?

Oto ten skrypt:
  1. <?php
  2. $a = array(
  3. => 1,
  4. => 2,
  5. => 3
  6. );
  7. $b = array(
  8. 3 = "trzy"
  9. 4 = "cztery",
  10. 5 = "pięć"
  11. );
  12. $c = $a + $b;
  13. ?>

Gdy go wpisałem, wyskakiwało mi takie coś:
array(5) { [1]=> int(1) [2]=> int(2) [3]=> int(3) [4]=> int(4) [5]=> int(5) }

Bardzo proszę o odpowiedź.

Z góry dziękuję i pozdrawiam! Jacek Baliński
LBO
Mogę sie zapytać skąd.. z jakiej książki to wziąłeś. Taki zapis nie ma prawa działać.

Pisane z palca:
  1. <?php
  2. $a = array(
  3. => 1,
  4. => 2,
  5. => 3
  6. );
  7. $b = array(
  8. 4 => 'cztery',
  9. 5 => 'pięć',
  10. 6 => 'sześć'
  11. );
  12. $c = $a + $b;
  13. ?>


Będzie działać na pewno. Tylko uważaj, na tablice z takimi samymi kluczami. Dodawana (druga) tablica Ich nie nadpisze.
jacus1211
Z książki wydawnictwa Helion "Praktyczny kurs PHP5".

Wpisałem to i teraz wyskakuje mi takie coś:

Parse error: syntax error, unexpected '=', expecting ')' in C:\Program Files\Apache Group\Apache2\htdocs\index.php on line 9

Co robić? sad.gif

<?php
$a = array(
1 => 1,
2 => 2,
3 => 3
);
$b = array(
3 = "trzy"
4 = "cztery",
5 = "pięć"
);
$c = $a + $b;
var_dump($c)
?>

Tak dokładnie wpisałem. I dupa sad.gif
LBO
To chyba swój przekleiłeś. Bo to co Tobie dałem to co innego.
jacus1211
Sorki, pomyliło mi się... Teraz poprawiłem na:

<?php
$a = array(
1 => 1,
2 => 2,
3 => 3
);
$b = array(
3 => 'trzy',
4 => 'cztery',
5 => 'piec'
);
$c = $a + $b;
var_dump($c)
?>

I pokazuje mi taki komunikat:

array(5) { [1]=> int(1) [2]=> int(2) [3]=> int(3) [4]=> string(6) "cztery" [5]=> string(4) "piec" }




A jak zmieniłem w zmiennej $b trzy na cztery, cztery na pięć, pięć na sześć (tak jak to podałeś), wyskakuje to samo.
LBO
Na pewno nie wyskakuje to samo, przyjrzyj sie dokładnie :]
matix
Głupio piszesz, w dodatku w złym dziale - to nie jest programowanie obiektowe. Ucz się, a nie zaśmiecaj swoimi bezsensownymi postami tego forum.

Takie pytania to do forum "przedszkole", lecz i tak zaniżysz poziom takimi głupotami.

Sorry, taka prawda. Powodzenia w nauce.
jacus1211
No tak, ale prawie to samo. Nie wiesz może, jak można to jeszcze inaczej zrobić? Bo ja już nie wiem sad.gif.



Matix - czego ty chcesz? Chcę się tylko dowiedzieć pewnej rzeczy. Dopiero zaczynam się uczyć PHP. Być może to nie jest programowanie obiektowe, nie znam się na tym. Ale jak nie potrafisz odpowiedzieć na moje pytanie, to się nie odzywaj! Ja się grzecznie pytam, a ty mi wyjeżdzasz z takimi tekstami :/.

To, że jesteś już super w PHP, chyba nie upoważnia cię do takiego traktowania nowicjuszy sad.gif. Bo to się po prostu przykro człowiekowi robi.
LBO
Ale przecież po tym tablice są złączone. Teraz nie wiem, tak naprawdę, czego oczekujesz. Jaki ma być wynik tego łączenia tablic?
matix
Po pierwsze, piszesz tak nie jasno, że nie wiem o co ci chodzi - z resztą nie tylko ja Cie nie rozumiem.
Nigdzie nie pisałem, że umiem dobrze php - zwracam ci tylko uwagę na twoje zachowanie - forum.php to nie śmietnik.

3. Dopisz tagi do tematu i konkretnie sprecyzuj czego chcesz;
4. Nie ten dział;
5. Myśl, bo to są proste rzeczy, a jak nie umiesz, to ok - pytaj, ale nie w złym dziale. To tak jakbyś przyjechał do dealera Forda i chciał kupić Mercedesa biggrin.gif

Pewnie znowu coś od niechlujstwa źle SKOPIOWAŁEŚ. Postaraj się bardziej w tym co robisz, bo jak mówią - po charakterze pisma poznaje się człowieka.
jacus1211
No właśnie nie są złączone

Wpisałem tak:

<?php
$a = array(
1 => 1,
2 => 2,
3 => 3
);
$b = array(
4 => "cztery",
5 => "piec",
6 => "szesc"
);
$c = $a + $b;
var_dump($c)
?>

Myślę, że wszystko jest poprawnie.

I wyszło na ekranie takie coś:

array(6) { [1]=> int(1) [2]=> int(2) [3]=> int(3) [4]=> string(6) "cztery" [5]=> string(4) "piec" [6]=> string(5) "szesc" }

A to chyba nie o to chodzi...

Matix - zróbmy tak: dokończmy tutaj ten temat, a potem sobie go wyrzućcie. Druga sprawa: ja przepisałem tak, jak było w książce. Trzeci dzień się uczę i sam z siebie nie pozmieniam tego skryptu, bo po prostu nie wiem, jak.
Balut
Sprawdź jak działa funkcja var_dump() na http://pl2.php.net ...
A tak poza tym wszystko jest już dobrze...
jacus1211
Jak wpisuję ten kod:

<?php
$a = array(
1 => 1,
2 => 2,
3 => 3
);
$b = array(
4 => 'cztery',
5 => 'pięć',
6 => 'sześć');
$c = $a + $b;
var_dump($c);
?>

To wychodzi takie coś:

array(6) { [1]=> int(1) [2]=> int(2) [3]=> int(3) [4]=> string(6) "cztery" [5]=> string(4) "piec" [6]=> string(5) "szesc" }

Tak to ma wyglądać?
matix
Zamień sobie var_dump() na print_r i dodaj html-owy znacznik <pre> - dla czytelności.

  1. <?php
  2. $a = array(
  3. => 1,
  4. => 2,
  5. => 3
  6. );
  7. $b = array(
  8. 4 => 'cztery',
  9. 5 => 'pięć',
  10. 6 => 'sześć');
  11. $c = $a + $b;
  12. echo '<pre>';
  13.  
  14. print_r($c);
  15. ?>


Pzdro.
jacus1211
Skopiowałem ten kod, co mi Matix podałeś, i na ekranie się pojawiło takie coś:

Array
(
[1] => 1
[2] => 2
[3] => 3
[4] => cztery
[5] => piec
[6] => szesc
)

Rozumiem, że to jest prawidłowo?
LBO
no sorry, ale Ty się Nas pytasz?questionmark.gif
matix
Cytat
Rozumiem, że to jest prawidłowo?


O to to ja powinienem zapytać Ciebie ? Skąd ja mam wiedzieć, jak ty to chcesz mieć. Z mojego punktu widzenia jest ok.

Rób inne, normalne i bardziej sensowne i praktyczne ćwiczenia a nie takie bzdety, z tego się PHP nie nauczysz winksmiley.jpg

Pzdr.
jacus1211
No powinnieneś Matix wiedzieć, bo podawałeś mi ten kod winksmiley.jpg. W każdym razie dziękuję wszystkim, którzy się tu wypowiadali winksmiley.jpg. Pozdro
Cysiaczek
Obiektowy temat jak diabli... : (

Przenoszę na Przedszkole
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.