Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]oop class a zmienna
Forum PHP.pl > Forum > Przedszkole
oop
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
nospor
Kompiluje ci sie kod? Tak? Znaczy ze jest dobrze
oop
No tak ale po co zapisywać dwa razy tą samą zmienną ? Wpływa to na wydajność kodu
Spawnm
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.
oop
Fakt. Dopiero się uczę. Dzięki za odpowieź.

Spawnm możesz rozwinąć myśl co miałeś na myśli
oop
Nazwę klasy miałem sobie dopisać. Jak wcześniej wspomniałem to tylko przykład jaki dostałem, resztę miałem sam wykonać
oop
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.
oop
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
!*!
Jeśli kwota jest tablicą to max wystarczy.
oop
Dzięki za odpowiedź. Powiem jeszcz tylko, że test był przeprowadzany na kartce.

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

PrinceOfPersia
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...
Wazniak96
oop powiedz mi gdzie szukają osób z takimi umiejętnościami... ;P
oop
Nie mogę.

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

Wazniak96
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
oop
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.
Wazniak96
Jest test, co prawda pytania nie takie jak podczas rozmowy o pracę, ale można ocenić swoje umiejętności. ;p

test php
oop
TX
b4rt3kk
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.
oop
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
Wazniak96
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.';
Spawnm
Ale głupie zadanie z tym dzieleniem, nie sprawdza wiedzy z zakresu wytwarzania oprogramowania komercyjnego, a tym właśnie osoba zatrudniona będzie się zajmować. Zadanie dobre do konkursów, a nie rekrutacji pracownika.

@oop - moim zdaniem nie dostaniesz się. Nie uwzględniłeś $kwota="1".
I teraz pytania ode mnie:
Do czego służy $this?
Do czego służy public/protected/private i dlaczego nie dałeś private/protected dla $kwota?
Jak działa konstruktor?
oop
Spawnm
Cytat
@oop - moim zdaniem nie dostaniesz się.

Prawdopodobnie tak będzie, bo mieli dać dzisiaj znać i do tej pory brak odpowiedzi. No ale do 24 00 jeszcze daleko oneeyedsmiley02.png
Cytat
Do czego służy $this?
Do czego służy public/protected/private i dlaczego nie dałeś private/protected dla $kwota?
Jak działa konstruktor?

Nie uwzględniłem bo zasugerowałem się właśnie tą zmienną $kwota="1"; i straciłem orjętację o co tu chodzi. Dlatego spytałem prowadzącego czy czasem to nie jakiś błąd. Lecz on stanowczo powiedział że nie.
I jeszcze teraz przypomniało mi się, że w innym pytaniu też popełniłem błąd banalny. Pytanie dotyczyło zapytania do bazy danych zwykły select zamiast SELECT * FROM dałem SELECT * set . Ale gafa ohno-smiley.gif. Byłem przejęty rolą no i stało się.
ber32
Wazniak96
Cytat
W funkcji nie wyświetlamy danych tylko zwracamy przez return.

Nie zawsze no chyba że się mylę
manual
  1. function a() {echo 'a';}
  2. function b() {echo 'b';}
  3. a() == b(); // outputs "ab", ie evaluates left-to-right

A zadanie miało być bez używania mnożenia a to co
  1. $pom = $i * $nr_2;

100 pk dla oop oneeyedsmiley02.png
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.