Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [PHP]oop class a zmienna, ?
-oop-
post
Post #1





Goście







Witam wszystkich.

Dzisiaj odbyłem rozmowe w sprawie pracy. Za zadanie jakie dostałem to stworzyć klasę z jedną metodą, która wyciągnie największą wartość z tablicy asocjacyjnej.
Zadanie oczywiście wykonałem. Interesuje mnie jedna sprawa. A mianowicie podana mi wzór jak to ma mniejwięcej wyglądać. Oto przykład
  1. Class{
  2.  
  3. $kwota="1";
  4.  
  5. public function __construct($kwota="1")
  6. {
  7.  
  8. }
  9.  
  10. public function kwota($kwota)
  11. {
  12.  
  13.  
  14. }
  15.  
  16. }


I tu moje pytanie czy zmienna $kwota="1"; pod class jest dobrze zapisana? Ja uważam że to błąd. Lecz prowadzący powiedział że jak najbardziej jest to prawidłowo. Co o tym myślicie. Czekam na wsze opinie w tej sprawie.

Pozdrowienia
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Kompiluje ci sie kod? Tak? Znaczy ze jest dobrze


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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





Goście







No tak ale po co zapisywać dwa razy tą samą zmienną ? Wpływa to na wydajność kodu
Go to the top of the page
+Quote Post
Spawnm
post
Post #4





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Cytat
No tak ale po co zapisywać dwa razy tą samą zmienną ? Wpływa to na wydajność kodu

Ktoś tu chyba nie zna podstaw oop wink.gif

A kod sie nie interpretuje, brak nazwy klasy i typu dostępu $kwoty.
Go to the top of the page
+Quote Post
-oop-
post
Post #5





Goście







Fakt. Dopiero się uczę. Dzięki za odpowieź.

Spawnm możesz rozwinąć myśl co miałeś na myśli
Go to the top of the page
+Quote Post
-oop-
post
Post #6





Goście







Nazwę klasy miałem sobie dopisać. Jak wcześniej wspomniałem to tylko przykład jaki dostałem, resztę miałem sam wykonać
Go to the top of the page
+Quote Post
-oop-
post
Post #7





Goście







Dla wszystkich co szukają pracy jako programista. Tak wykonałem zadanie oczywiście zmienną musiałem zostawić
  1. Class Kwota{
  2.  
  3. $kwota="1";
  4.  
  5. public function __construct($kwota="1")
  6. {
  7.  
  8. }
  9.  
  10. public function kwota($kwota)
  11. {
  12. asort($kwota);
  13. foreach ($kwota as $value)
  14. {
  15. $kwota1 = $value;
  16. }
  17. return $kwota1;
  18. }
  19.  
  20. }
  21.  
  22. $k = new Kwota();
  23. $kwota = ['id_user'=>50,'id_bb'=>10, 'id_hh'=>20];
  24.  
  25. echo $k->kwota($kwota);


Do tego prowadzący powiedział, że się nie da wyciągnąć bez if z tablicy asocjacyjnej największej wartości, a mi się chyba udało co wy na to.
Go to the top of the page
+Quote Post
-oop-
post
Post #8





Goście







Mogłem lepiej zrobić tak
  1. $kwota = ['50'=>'50','10'=>'10', '20'=>'20'];


To wszystko było by ok

Ciekawe czy mnie przyjmą ! zakochany.gif
Go to the top of the page
+Quote Post
!*!
post
Post #9





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Jeśli kwota jest tablicą to max wystarczy.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
-oop-
post
Post #10





Goście







Dzięki za odpowiedź. Powiem jeszcz tylko, że test był przeprowadzany na kartce.

Dałbym pomógł ale nie widzę przycisku. arrowheadsmiley.png

Go to the top of the page
+Quote Post
PrinceOfPersia
post
Post #11





Grupa: Zarejestrowani
Postów: 717
Pomógł: 120
Dołączył: 18.04.2009

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


Cytat
['id_user'=>50,'id_bb'=>10, 'id_hh'=>20];

ooo, tak się da robić? oneeyedsmiley02.png
no tak, PHP 5.4
As of PHP 5.4 you can also use the short array syntax, which replaces array() with [].
akurat w innych językach programuję częściej, a w PHP okazyjnie, więc nie śledzę nowości, ale w sumie fajna sprawa, bo zawsze mnie denerwowało pisanie array...


--------------------
Go to the top of the page
+Quote Post
Wazniak96
post
Post #12





Grupa: Zarejestrowani
Postów: 550
Pomógł: 75
Dołączył: 5.06.2012
Skąd: Lębork

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


oop powiedz mi gdzie szukają osób z takimi umiejętnościami... ;P
Go to the top of the page
+Quote Post
-oop-
post
Post #13





Goście







Nie mogę.

Czekam na odpowiedź czy się dostałem. Lkingsmiley.png

Go to the top of the page
+Quote Post
Wazniak96
post
Post #14





Grupa: Zarejestrowani
Postów: 550
Pomógł: 75
Dołączył: 5.06.2012
Skąd: Lębork

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


Szczerze mówiąc pytam z ciekawości, jestem uczniakiem więc robota raczej nie wchodzi w grę, chodź jak widzę, że takich rzeczy wymagają mam wątpliwości smile.gif

PS: Zapraszamy do wstąpienia do grona zarejestrowanych, oraz do bliższego kontaktu. Jestem ciekaw jak takowa praca miałaby wyglądać ;p
Go to the top of the page
+Quote Post
-oop-
post
Post #15





Goście







Fajnie by było jak by ktoś z bardziej zaawansowanych użytkowników, może nawet medoratorów opracował jakiś zestaw pytań wstępnych, których można by było się nauczyć przed taką rozmowę . Podzielił to na kategorie np. PHP 1.obiektowe , 2. PDO, 3.Strukturalne
mysql 1.select ,2. insert ,3. update, itd. i wrzucił to na forum. Myślę że w jakimś stopniu ułatwiło by to przyszłym pracownikom branży it przygotowanie się do przyszłej pracy.
Go to the top of the page
+Quote Post
Wazniak96
post
Post #16





Grupa: Zarejestrowani
Postów: 550
Pomógł: 75
Dołączył: 5.06.2012
Skąd: Lębork

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


Jest test, co prawda pytania nie takie jak podczas rozmowy o pracę, ale można ocenić swoje umiejętności. ;p

test php
Go to the top of the page
+Quote Post
-oop-
post
Post #17





Goście







TX
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #18





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Napisz funkcję, która obliczy wynik dzielenia jednej liczby przez drugą oraz pozostałą resztę, nie używając w tym celu operacji mnożenia i dzielenia.


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
-oop-
post
Post #19





Goście







Nudziło mi się w czsie czekania na odpowiedź oneeyedsmiley02.png
  1. function dziel($il, $to)
  2. {
  3. if($to>$il)
  4. {
  5. $DD = $to%$il;
  6. $j=0;
  7. if($DD == 0)
  8. {
  9. for ($i = $il; $i < $to+$il; $i=$i+$il)
  10. {
  11. // $i;
  12. $j++;
  13. }
  14. echo "Wynik dzielenia to ". $j ." i reszty".$DD;
  15. }else{
  16. for ($i = $il; $i < $to; $i=$i+$il)
  17. {
  18. //$i;
  19. $j++;
  20. }
  21. echo "Wynik dzielenia to ". $j ." i reszty".$DD;
  22. }
  23. }else{
  24. echo "Pierwsza liczba musi być mniejsza od drugiej";
  25. }
  26. }
  27.  
  28. echo dziel(1,3);


i co zdałem arrowheadsmiley.png
Go to the top of the page
+Quote Post
Wazniak96
post
Post #20





Grupa: Zarejestrowani
Postów: 550
Pomógł: 75
Dołączył: 5.06.2012
Skąd: Lębork

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


W funkcji nie wyświetlamy danych tylko zwracamy przez return. Poza tym zapomniałeś o pewniej matematycznej zasadzie wink.gif

  1. <?php
  2.  
  3. function dziel($nr_1, $nr_2)
  4. {
  5. if(!is_numeric($nr_1) || !is_numeric($nr_2)) //musimy sprawdzić, czy argumenty rzeczywiście są liczbami
  6. return false;
  7.  
  8. if($nr_2 == 0) //NIGDY NIE DZIELIMY PRZEZ ZERO!
  9. return false;
  10.  
  11. if($nr_1 < $nr_2)
  12. return array(1 => 0, 2 => $nr_1);
  13.  
  14. for($i = 2; $i<$nr_1; $i++)
  15. {
  16. $pom = $i * $nr_2;
  17. if($pom > $nr_1)
  18. {
  19. return array(1 => $nr_2 * $i-1, 2 => $nr_1 % $nr_2);
  20. }
  21. }
  22. }
  23.  
  24. $data = dziel(100, 10);
  25.  
  26. if($data != false)
  27. echo 'Wynik to '.$data[1].' i reszty .'$data[2];
  28. else
  29. echo 'Podano złe parametry.';
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 19.08.2025 - 08:42