PHP-ban mi a különbség az array () és az Array () között?





A PHP is case insensitive.
Próbáld ki csupa nagybetűkkel. Ugyanígy azonosítókkal (függvény-, osztálynevek). Mind-mind case insensitive-ek.





Kicsit azért pontosítok: azonosítók, kulcsszavak, változónevek, "nem tudom mi még", ezek case insensitive-ek.
De természetesen a stringek nem!
<?
$a=7;
print $A;
?>
PHP Notice: Undefined variable: A in x.php on line 3
Sikerült végül is megtalálnom a választ, és az derült ki, hogy a PHP esetén ez egy nagy katyvasz, amiben sok ember el van veszve, köztük te meg én is, mert az sem igaz, amit te leírtál. A változók azonosítói pl. nagybetűérzékenyek. A függvényeké nem. A tetejébe még szavazgatnak is róla, hogy a függvényekét is azzá tegyék, és ez akármikor bekövetkezhet. Szóval hasznos úgy tekinteni, mintha minden case sensitive volna, és így programozni.





A legtöbb nyelvben vagy így csinálják, vagy úgy, és egységes szabályok vannak az azonosítók képzésére.
Azért zavarodtam így össze meg még sokan mások is, mert aki látott már 1-2 prognyelvet, az józan ésszel nem is gondolná, hogy valamelyikben ilyen dolgot csináltak, ami csak zavarkeltésre jó. Most meg már akármerre javítják ki, mindenképpen el fog szállni egy csomó program egy verzióváltással.





pontosan ezért van "katyvasz", mert nem fognak egyik irányba sem dönteni, mert akkor a társaság fele mindenképpen felhördül. A php a legelterjedtebb nyelv a világon, szerintem még az is eléggé sok gondot fog okozni lassan, hogy mysql -ről mysqli -re váltottak.
Bár minden ilyen változást lassan szoktak bevezetni és van idő átállni, megszokni, de most komolyan, szerintem egyáltalán nem zavaró az, hogy most mi a case sensitive vagy insensitive.
egyébként pont az array-nál nem értem a problémád. Az array amúgy sem állhat önmagában, csak ha valaminek mint érték adod át. Tehát maga az array lehet case insensitive. Viszont a változó, aminek mint érték adod meg, értelem szerűen legyen case sensitive.
A php-nak pedig amúgy is eléggé sok olyan része van, ami eltér más programnyelvektől. Ilyen például, hogy nem kell definiálni a változók típusát. Az array egyszerre tud tárolni stringet, chart, integert és float típusú adatokat, amikre hivatkozva megfelelően tud működni, ezzel szemben a C-vel, ahol ha char tömbbe két számot raksz, akkor azokat nem lehet összeadni mintha int lenne. Sőt php-ban olyan is lehet, hogy egy egyébként 'definiálatlan' változót mint tömböt használsz fel.
<?php
$tomb[] = 'Ez az első elem';
$tomb[] = 'Ez a második elem';
var_dump($tomb);
?>
A php egy erősen hibrid nyelv szerintem, aminek célja a fejlesztés gyorsítása illetve igyekszik sok dolgot levenni a fejlesztők válláról (lásd a típuskonverziókat). Ez persze okozhat olyan kinézetű kódot, amiben hatalmas a káosz, de szerintem aki ismer más program nyelveket, azok ugyan olyan szép kódokat tudnak írni, csak egyszerűbben.
A problémám az volt, hogy nem értettem. Ez már önmagában elég probléma, ha valaminek nem értem a működését.
És mivel azt hittem, hogy ez egy case sensitive nyelv, arra kellett gondolnom, hogy az array() meg az Array() két dolog, és törhettem a fejem, hogy miben különböznek.
De így tisztázódott, ezért megoldódott a probléma.
Nem véletlen egyébként, hogy a PHP-t nem használják kezdő nyelvnek az oktatásba, tökéletesen alkalmas a kezdők összezavarására és a rossz stílus elsajátítására. De persze minden nyelven lehet szép kódot írni, nekem nincs bajom vele. Az biztos, hogy sok mindent kényelmesen meg lehet oldani benne.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!