Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Debugowanie. Phpstorm. Powiadom jeśli któryś element tablicy ma wartość NULL.
Forum PHP.pl > Forum > Przedszkole
porzeczki
kontroler zwraca obiekt 'entities' = $entities do twiga.

Czy mogę coś zrobić bym w trakcie debugowanie został powiadomiony jeśli któryś element tablicy items spełnia określony warunek np:

  1. $entities->items[0]->wydawnictwo == NULL
  2. $entities->items[1]->wydawnictwo == NULL
  3. $entities->items[2]->wydawnictwo == NULL
  4. ...
  5. $entities->items[200]->wydawnictwo == NULL

No chcę wiedzieć czy któryś element 'wydawnictwo' ma wartośc NULL i jeśli tak to by debuger wskazał mi ten element.
Czy coś takiego zrobię z pomocą Watches?
nospor
Gdy ustawisz czerwona kropke w linii ktora cie interesuje to kliknij na nia prawym przyciskiem myszy i tam mozesz ustawic conditions
porzeczki
(uwaga, bełkot alert)

ale mam na myśli warunki dotyczące zagnieżdżonych elementów obiektu na który wskazuje zmienna.

gdy w linii z breakpointem mam tylko referencję do obiektu $entities
  1. return ['p' => $entities]

a ja chcę by mnie powiadomił, gdy któryś z zagnieżdżonych elementów $entities ma wartość NULL (np $entities->items[135]->wydawnictwo == NULL)

bo bez dodatkowego zapisu pętli
  1. foreach ($entities->items as $x){
  2. echo $x->wydawnictwo;
  3. }


i w conditions breakpontu
  1. $x->wydawnictwo == NULL

się nie obejdzie?
nospor
Nie bardzo rozumiem kto ci broni tam wstawic zagniezdzony warunek

A, chodzi ci o to ze nie znasz liczby elementow?
porzeczki
tak. nie wiem ile elementów, i nie wiem czy NULL będzie w $entities->items[135]->wydawnictwo czy $entities->items[9]->wydawnictwo a w kodzie nie mam żadnej pętli, jedynie referencję do obiektu $entities.

(bo rozumiem, że nie mogę debugować twiga? bo tam mam pętlę z obiektem $entities)
nospor
wrzuc w warunek funkcje array_reduce() i ona w callback niech zwraca true gdy jeden z elelementow jest pusty. Tada 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.