Hirdetés
- iPhone topik
- Milyen okostelefont vegyek?
- Örömhír: nem spórol Európán a OnePlus
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Samsung Galaxy S21 FE 5G - utóirat
- Redmi Note 11 és 11S - biztos alapra jobb építeni
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Sony Xperia 1 V - kizárólag igényeseknek
- Samsung Galaxy Watch6 Classic - tekerd!
- Vivo X200 Pro - a kétszázát!
Új hozzászólás Aktív témák
-
PazsitZ
addikt
Erről eszembe jutott, hogy nekem volt régen ilyen próbálkozásom az sql result gyors ki-extract-olására függvényből global változóként. Persze nem szép. Ma már nem is használom/használnék ilyet, mármint global változót.

(#8038) Lacces: Ennek nincs köze a mutatókhoz. A miértre a magyarázat annyi, hogy ez egy script nyelv.
$fetchResult = mysql_fetch_assoc($localpSQLResult);
if ($fetchResult){
foreach($fetchResult as $var_name => $var_value)
{
$var_name = "q_$var_name";
global $$var_name;
$localGlobalVarsArr[] = $var_name;
$$var_name = $var_value;
}
return true;
}
Így global változóként létrehoztam az sql eredményét egy q_ (query) prefix-es változóként.
De a neveket le is tároltam, hogy egy fajta garbage collect-ként üríteni tudjam őket.
Fetch esetén ugye mindig felülíródott a változó tartalma, következő querynél ez a gc opció default lefutott, de szükség esetén letiltható volt.(#8041) Sk8erPeter : Alapvetően szerintem nem ördögtől való dolog ez, persze azért nem kell túlzásba vinni.
Én pl. Factory pattern esetén szoktam használni.Bár itt nem változóként, használod fel a változóban tárolt sztringet, hanem osztálynévként, de a logika hasonló.
Definiálsz sztring konstans értéket a lehetséges osztályok neveivel, majd azáltal pédányosítod a megfelelő osztályt./**
*
* @param const $SQLLayerType SQLLayer constant
* @param DBObj $db
*/
public function __construct($SQLLayerType=null, DBObj $db=null) {
$list = array(SQLLayer::SELECT, SQLLayer::INSERT, SQLLayer::UPDATE, SQLLayer::REPLACE, SQLLayer::DELETE);
if(is_null($SQLLayerType) || !in_array($SQLLayerType, $list)){
$this->SQLLayerType = SQLLayer::SELECT;
}
else $this->SQLLayerType = $SQLLayerType;
$Class = "SQL" . ucfirst($this->SQLLayerType);
$this->SQLObj = new $Class($this->SQLLayerType, $db);
if(!is_null($db)) $this->SQLObj->table($db->getTableName());
} -
Sk8erPeter
nagyúr
"Főleg, hogy jobb is a konkatenálás, azt a szebb példát, annak külön örülök
Így van egy Java feelingje az egésznek"
Attól lesz Java feelingje, hogy van benne egy konkatenálás?
Hmm.Ja, assign - hozzárendeli egy $temp, vagyis átmeneti változóhoz a $_POST tömb aktuális értékét. Itt a foreach ciklusban ugyanis bejár egy tömböt, vizsgálja a tömb értékeit. De gondolom ezt nem kell magyaráznom, ha csináltál már ilyet Java-ban.
"az expected tömbben található értékek alapján, létrehoz változókat"
Na, akkor elölről. Az első if-nél azt vizsgálja, a $_POST aktuális tömbindexének értéke ($temp-ben van most) nem üres-e és szerepel-e a $required tömbben. Ha a két feltétel teljesül, akkor valamit mondjuk nem töltöttél ki az űrlapon, berakhatjuk a $missing tömbbe, jelezvén, hogy ez a kulcs hiányzik mondjuk, pampogunk a júzernek, hogy töltse már ki legyen szíves az adott mezőt.
Egyébként ha a $temp nem üres, az adott kulcs az $expected tömbben van, (pl. kitöltötte az elvárt mezőt), akkor hozzuk létre az azonos nevű változót (pl. $name)."Ha létrehozza is őket, akkor ezek sima egyszerű változók"
Azok milyenek?
Gondolom azt a szót keresed, hogy "lokális" változó.
Attól függ. Ha ez az egész pl. egy függvényben szerepel, akkor csupán lokális scope-ja lesz, a függvényen belül. De lehet akár globális is, ha mondjuk ez egy fájlban "kívül" szerepel ez az egész Onnantól a függvények számára a global kulcsszóval ezek a változók elérhetők, amennyiben nem szüntetted meg azóta pl. unsettel.
Új hozzászólás Aktív témák
- Azonnali készpénzes AMD CPU AMD VGA számítógép felvásárlás személyesen / postával korrekt áron
- GYÖNYÖRŰ iPhone 12 mini 128GB Blue-1 ÉV GARANCIA - Kártyafüggetlen, MS3415 94% Akkumulátor
- BESZÁMÍTÁS! Huawei Watch 4 Pro eSIM okosóra garanciával hibátlan működéssel
- GYÖNYÖRŰ iPhone 15 Plus 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3355, 100% Akkumulátor
- Motorola Edge 40 / 8/256 GB / Kártyafüggetlen / 12Hó Garancia
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest

Hmm.
Gondolom azt a szót keresed, hogy "lokális" változó.

