Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Sprawdzanie ostatniego klucza
Forum PHP.pl > Forum > Przedszkole
xxdrago
Witam, mam taki skrypt:

  1. $data = array(
  2. 'nazwa' => '212',
  3. 'wartosc' => 'wartosc',
  4. );
  5.  
  6.  
  7. foreach ($data as $nazwa => $wartosc) {
  8. echo '`' . $nazwa . '`,';
  9. }


Przykład zwraca: `nazwa`,`wartosc`, . Potrzebowałbym zrobić coś takiego, że jeżeli jest ostatni klucz w tablicy,żeby nie dodawało przecinka i zamykało nawiasem dla przykładu w tym wypadku miało by to wyglądać tak:

`nazwa`,`wartosc`) nie mam mogę znaleźć odpowiedniej funkcji aby to zrobić...
kallosz
może łatwiej będzie ci użyć array_keys i implode

  1. implode(', ', array_keys($data));


ewentualnie musisz zrobić zliczenie za pomoca count
xxdrago
Mam coś takiego:

  1. $data = array(
  2. 'nazwa' => '212',
  3. 'wartosc' => '435',
  4. );
  5.  
  6.  
  7. $MySQL->add_record('123', $data);


  1. public function add_record($tabela, $data) {
  2. // INSERT INTO `cms_v2`.`config` (`nazwa`, `wartosc`) VALUES ('1', '1');
  3.  
  4. $klucze = implode(', ', array_keys($data));
  5. $wartosci = implode(', ', array_values($data));
  6.  
  7.  
  8. $stmt = $this->Connect->prepare('INSERT INTO `cms_v2`.`config` (' . $klucze . ') VALUES(' . $wartosci . ')'); // 1
  9.  
  10. foreach ($data as $nazwa => $wartosc) {
  11. $stmt->bindValue(':'.$nazwa, $wartosc, PDO::PARAM_STR); // 2
  12. }
  13.  
  14.  
  15. $ilosc = $stmt->execute(); // 3
  16. }



Potrzebowałbym, żeby każda wartość była bindowana:



VALUES(:nazwa,:wartosc), mówiąć po ludzku, nie mam pomysłu jak dodać : do tych wartości, żeby było to w miarę estetycznie smile.gif
BigPig
Hej, wymyśliłem takie coś:

  1.  
  2. $data = array(
  3. 'nazwa' => '212',
  4. 'wartosc' => 'wartosc',
  5. );
  6. $data = array_flip($data);
  7. $ostatni = end($data);
  8. $data = array_flip($data);
  9.  
  10. foreach ($data as $nazwa => $wartosc)
  11. {
  12. if($nazwa != $ostatni)
  13. echo '`' . $nazwa . '`,';
  14. else
  15. echo '`' . $nazwa . '`)';
  16. }
  17.  



Działa jak należy, aczkolwiek jestem początkującym i pewnie da się to jakoś ładniej zrobić smile.gif
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.