• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

$stmt->fetch(); czy $result = $stmt->fetchAll();

0 głosów
526 wizyt
pytanie zadane 1 stycznia 2018 w PHP przez Bartess Gaduła (3,630 p.)

Cześć.
Wyciągam z bazy za pomocą PDO dane. Zapisuję/wyświetlam itp.

$stmt->fetchAll();
foreach($result as $row){
(...)
}

albo tak:

while($row = $stmt -> fetch()){
(...)
}

Czy ma to jakiekolwiek znaczenie który sposób wybiorę?
Gdzieś tu przeczytałem w komentarzu któregoś z Was, że stosowanie wile jest nieeleganckie (albo się mylę ;-) ).

komentarz 1 stycznia 2018 przez Comandeer Guru (607,960 p.)
Wgl pętle są nieeleganckie. Należy to wszystko implementować przy pomocy interfejsu iteratora. Tylko tak Twój kod wskoczy na poziom megauberpro.
komentarz 1 stycznia 2018 przez Bartess Gaduła (3,630 p.)
To jak to powinno wyglądać wg megauberpro? ;-)
1
komentarz 1 stycznia 2018 przez Comandeer Guru (607,960 p.)
<?php
declare(strict_types=1);

interface IteratorExecutor {
	public function iterate(callable $callback);
}

class ArrayIteratorExecutor implements IteratorExecutor  {
	private $iterator;

	public function __construct(ArrayIterator $iterator) {
		$this->iterator = $iterator;
	}

	public function iterate(callable $callback) {
		if($this->iterator->valid()) {
			$callback($this->iterator->current(), $this->iterator->key());

			$this->iterator->next();
			$this->iterate($callback);
		}
	}
}

$array = [
	1,
	2,
	3
];

$arrayIterator = new ArrayIterator($array);
$iteratorExecutor = new ArrayIteratorExecutor($arrayIterator);

$iteratorExecutor->iterate(function($value, $key) {
	var_dump($value, $key);
});

Proszę :P

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 394 wizyt
0 głosów
2 odpowiedzi 397 wizyt
pytanie zadane 14 września 2022 w JavaScript przez kordix Gaduła (3,910 p.)
0 głosów
1 odpowiedź 659 wizyt
pytanie zadane 21 lipca 2022 w JavaScript przez kubekszklany Gaduła (3,250 p.)

93,742 zapytań

142,678 odpowiedzi

323,297 komentarzy

63,328 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...