isset() is_null()
Sziasztok!
csak egy érdekességet szeretnék megosztani. esetleg ha valaki tudna rá valami megoldást, akkor mondja meg nekem.
tehát van egy php által összerakott sql lekérdezésem aminek sorait fetch_object()-tel kérem vissza. az sql változik, néha úgy ad vissza hogy
néha meg úgy hogy
mindez annyival megbolondítva, hogy az idcolor és a color értéke lehet NULL is
kiírásnál meg attól függően, hogy idcolor vagy color szerepel az adott objektumban, másként kellene megjeleníteni.
valahogy ígyDe! ha éppenséggel épp volna idcolor, de az NULL értékű, akkor az isset() false-t fog visszaadni, az else ágon pedig egy szépséges notice fog megjelenni. ha is_null()-t is bevetek a vizsgálódásba, akkor ha épp nincs is idcolor az is_null akkor is true-t fog visszaadni, vagy valami ilyesmi (ilyen fényes lakkcipő szerű:D).
végülis a megoldás annyi, hogylegalábbis nálam, mert a 'kíirom így' és a 'kiírom úgy' üres téma esetén nálam ugyanazt adja vissza, nevezetesen semmit :), de mi van ha valaki tényleg ki akar írni valamit és az más.
szóval ha sikerült érthetően leírnom a dolgot és tud rá valaki megoldást, akkor ossza már meg.
■ csak egy érdekességet szeretnék megosztani. esetleg ha valaki tudna rá valami megoldást, akkor mondja meg nekem.
tehát van egy php által összerakott sql lekérdezésem aminek sorait fetch_object()-tel kérem vissza. az sql változik, néha úgy ad vissza hogy
$row->idcolor
$row->elek
$row->elek
néha meg úgy hogy
$row->color
$row->elek
$row->elek
mindez annyival megbolondítva, hogy az idcolor és a color értéke lehet NULL is
kiírásnál meg attól függően, hogy idcolor vagy color szerepel az adott objektumban, másként kellene megjeleníteni.
valahogy így
<? if(isset($row->idcolor)): ?>
kiírom így <?= $row->idcolor ?>
<? else: ?>
kiírom úgy <?= $row->color ?>
<? endif; ?>
végülis a megoldás annyi, hogy
<? if(isset($row->idcolor)): ?>
kiírom így <?= $row->idcolor ?>
<? elseif(isset($row->color): ?>
kiírom úgy <?= $row->color ?>
<? endif; ?>
szóval ha sikerült érthetően leírnom a dolgot és tud rá valaki megoldást, akkor ossza már meg.
array_key_exists(), property_exists()
Köszike
Fetch assoc gyorsabb
Persze ez gondolom teljesen lényegtelen, mert nem 100k felhasználóval dolgozol, ahogy sajnos én sem :D