Mae araeau yn offeryn trin data cryf yn PHP. Mae araeau yn fath o strwythur data sy'n galluogi rhaglenwyr i storio a thrin sawl gwerth mewn un newidyn. Maent yn hynod addasadwy a gellir eu defnyddio mewn ystod eang o gymwysiadau, o restrau sylfaenol i strwythurau data cymhleth. Byddwn yn ymdrin â phopeth sydd angen i chi ei wybod i feistroli delio ag araeau PHP yn y canllaw cynhwysfawr hwn.
Deall Hanfodion Araeau PHP
Mae dau brif fath o araeau yn PHP: mynegeio a chysylltiadol.
Araeau wedi'u Mynegeio
Gwneir araeau mynegeio trwy aseinio llawer o werthoedd i un newidyn, pob un â'i fynegai cyfanrif ei hun. Fel enghraifft:
$fruits = array("apple", "banana", "orange");
Yn yr enghraifft hon, mae gan “afal” fynegai 0, “banana” sydd â'r mynegai 1, ac “oren” sydd â'r mynegai 2. Gellir cyrchu'r gwerthoedd hyn trwy ddefnyddio mynegai'r arae, fel y gwelir isod:
echo $fruits[0]; // outputs "apple"
Araeau Cymdeithasol
Mewn cyferbyniad, mae araeau cysylltiadol yn cael eu hadeiladu trwy aseinio allweddi (llinynnau neu rifau) i werthoedd. Fel enghraifft:
$person = array("name" => "John Smith", "age" => 30, "address" => "123 Main St.");
Yn yr enghraifft hon, gosodir “enw” i “John Smith,” gosodir “oedran” i “30,” a gosodir “cyfeiriad” i “123 Main St.”. Gellir cyrchu'r gwerthoedd hyn trwy ddefnyddio bysellau'r arae fel a ganlyn:
echo $person["name"]; // outputs "John Smith"
Creu Araeau
Mae yna sawl ffordd o greu araeau yn PHP, gan gynnwys:
- Gan ddefnyddio'r
array()
swyddogaeth - Gan ddefnyddio'r cromfachau sgwâr
[]
- Gan ddefnyddio'r
range()
swyddogaeth
Gan ddefnyddio'r array()
swyddogaeth
Yn PHP, y dull arae() yw'r dechneg a ddefnyddir amlaf i gynhyrchu arae. Fel enghraifft:
$fruits = array("apple", "banana", "orange");
Defnyddio cromfachau sgwâr
Gallwch hefyd greu arae gan ddefnyddio cromfachau sgwâr []
yn PHP 5.4 a fersiynau diweddarach. Er enghraifft:
Gan ddefnyddio'r range()
swyddogaeth
Mae practis meddygol range()
ffwythiant yn creu amrywiaeth o rifau o fewn ystod benodol. Er enghraifft:
Mae hyn yn creu amrywiaeth o rifau o 1 i 10.
Cyrchu Elfennau Array
Gallwch gyrchu elfennau arae gan ddefnyddio mynegai neu fysell yr elfen. Er enghraifft:
$fruits = array("apple", "banana", "orange");
echo $fruits[0]; // outputs "apple"
$person = array("name" => "John Smith", "age" => 30, "address" => "123 Main St.");
echo $person["name"]; // outputs "John Smith"
Addasu Elfennau Arae
Gallwch addasu elfennau arae trwy aseinio gwerth newydd i fynegai neu allwedd yr elfen. Er enghraifft:
$fruits = array("apple", "banana", "orange");
$fruits[0] = "mango";
Yn yr enghraifft hon, mae gwerth mynegai 0 yr arae $ ffrwythau yn cael ei newid o “afal” i “mango”.
Yn yr un modd, ar gyfer araeau cysylltiadol:
$person = array("name" => "John Smith", "age" => 30, "address" => "123 Main St.");
$person["name"] = "Jane Doe";
Mae gwerth yr “enw” allweddol yn yr arae $ person yn cael ei newid o “John Smith” i “Jane Doe” yn yr enghraifft hon.
Trin Arae Uwch
Ar ôl i chi feistroli hanfodion araeau, gallwch fynd ymlaen i dechnegau trin araeau mwy cymhleth.
Trefnu Araeau
Mae gan PHP nifer o swyddogaethau adeiledig ar gyfer didoli araeau, gan gynnwys sort(), usort(), a ksort (). Mae pob un o'r dulliau hyn yn trefnu eitemau arae mewn ffordd wahanol, a gallwch ddewis yr un sy'n bodloni'ch gofynion orau.
Er enghraifft:
sort($fruits);
print_r($fruits);
Bydd hyn yn didoli elfennau'r arae $fruits yn nhrefn esgynnol yr wyddor.
Cyfuno a Splicing Araeau
Gallwch uno dwy arae neu fwy gyda'i gilydd gan ddefnyddio'r array_merge()
swyddogaeth, fel hyn:
$fruits1 = array("apple", "banana");
$fruits2 = array("orange", "grapes");
$fruits = array_merge($fruits1, $fruits2);
Bydd hyn yn cynhyrchu arae newydd yn cynnwys yr holl gofnodion o $fruits1 a $fruits2. Gallwch hefyd ddefnyddio'r dull arae sbleis() i ddileu cofnodion o arae, fel y gwelir isod:
array_splice($fruits, 1, 1);
Bydd hyn yn tynnu'r elfen ym mynegai 1 o'r arae $fruits.
Iteru Trwy Araeau
Gallwch ailadrodd trwy elfennau arae gan ddefnyddio dolen for neu ddolen flaen, fel:
for ($i = 0; $i < count($fruits); $i++) {
echo $fruits[$i];
}
or
foreach ($fruits as $fruit) {
echo $fruit;
}
Araeau hidlo
Gallwch hidlo elfennau arae gan ddefnyddio'r array_filter()
swyddogaeth, fel hyn:
$filtered = array_filter($fruits, function ($fruit) {
return $fruit != 'banana';
});
Bydd hyn yn creu arae newydd sy'n cynnwys pob elfen o $fruits ac eithrio 'banana'.
Gweithio gyda Nested Arrays
Mae araeau nythu yn araeau sy'n cynnwys un neu fwy o araeau eraill. Gellir eu defnyddio i storio strwythurau data soffistigedig.
Creu Araeau Nythu
Gallwch greu arae nythu trwy gynnwys arae fel elfen o arae arall. Er enghraifft:
$fruits = array("apple", "banana", array("orange", "grapes"));
Mae hyn yn creu arae $ffrwyth gyda 3 elfen
, pan fo'r drydedd elfen yn arae sy'n cynnwys “oren” a “grapes”.
Cyrchu Elfennau mewn Araeau Nythu
I gael mynediad at elfen mewn arae nythu, rhaid i chi ddarparu mynegai neu allwedd yr elfen ar bob lefel o'r arae nythu. Fel enghraifft:
$fruits = array("apple", "banana", array("orange", "grapes"));
echo $fruits[2][0]; // outputs "orange"
Addasu Elfennau mewn Araeau Nythu
Gallwch addasu elfen mewn arae nythu trwy nodi mynegai neu allwedd yr elfen ym mhob lefel o'r arae nythu. Er enghraifft:
$fruits = array("apple", "banana", array("orange", "grapes"));
$fruits[2][0] = "mango";
Mae gwerth ar fynegai 0 y drydedd elfen (arae) o'r arae $ ffrwythau yn cael ei newid o “oren” i “mango” yn yr enghraifft hon.
Yn Iteru Trwy Araeau Nythu
Gallwch ailadrodd trwy elfennau arae nythu gan ddefnyddio dolenni nythu. Er enghraifft:
foreach ($fruits as $fruit) {
if (is_array($fruit)) {
foreach ($fruit as $subFruit) {
echo $subFruit;
}
} else {
echo $fruit;
}
}
Bydd hyn yn allbynnu pob elfen o'r arae $ffrwythau nythu.
Adeiledig yn PHP Array Swyddogaethau
Mae gan PHP nifer o swyddogaethau adeiledig ar gyfer gweithio gydag araeau. Dyma rai o'r swyddogaethau a ddefnyddir amlaf:
count()
: yn dychwelyd nifer yr elfennau mewn araesort()
: yn didoli elfennau araeimplode()
: yn trosi arae yn llinynexplode()
: yn trosi llinyn yn araearray_keys()
: yn dychwelyd holl allweddi araearray_values()
: yn dychwelyd holl werthoedd araearray_unique()
: yn dileu gwerthoedd dyblyg o arae
Arferion Gorau ar gyfer Gweithio gydag Araeau PHP
- Dewis y math cywir o ddata: Mae'n bwysig dewis y math cywir o ddata ar gyfer eich amrywiaeth, oherwydd gall gael effaith fawr ar berfformiad a defnydd cof.
- Optimeiddio perfformiad: Osgoi defnyddio araeau mawr neu berfformio gweithrediadau cymhleth arnynt, oherwydd gallant achosi problemau perfformiad.
- Trin gwallau a dadfygio: Gwiriwch bob amser am wallau a dadfygio'ch cod wrth weithio gydag araeau.
- Ystyriaethau diogelwch: Byddwch yn ymwybodol o faterion diogelwch posibl wrth weithio gydag araeau, megis chwistrelliad SQL a sgriptio traws-safle.
Enghreifftiau byd go iawn o Ddefnyddio Araeau
- Storio ac adalw data o gronfa ddata: Defnyddir araeau'n aml i storio data a gafwyd o gronfa ddata ac yna'u defnyddio i'w harddangos ar dudalen we.
- Datblygu ap rhestr o bethau i'w gwneud sylfaenol: Mewn rhaglen rhestr o bethau i'w gwneud, gellir defnyddio araeau i storio a rheoli rhestr o dasgau.
- Creu ffurflen gyswllt: Gellir defnyddio araeau i storio a dilysu data a anfonwyd trwy ffurflen gyswllt.
- Creu trol siopa syml: Gellir defnyddio araeau i storio a rheoli'r eitemau mewn trol siopa.
Holi ac Ateb
C: Beth yw'r ddau brif fath o araeau yn PHP?
A: Y ddau brif fath o araeau yn PHP yw araeau mynegeio ac araeau cysylltiadol.
C: Sut ydych chi'n creu arae wedi'i fynegeio yn PHP?
A: I greu arae wedi'i fynegeio yn PHP, gallwch ddefnyddio'r array()
swyddogaeth neu gromfachau sgwâr []
yn PHP 5.4 a fersiynau diweddarach. Er enghraifft: $fruits = array("apple", "banana", "orange");
C: Sut mae cyrchu elfen mewn arae wedi'i mynegeio?
A: I gael mynediad at elfen mewn arae wedi'i mynegeio, gallwch ddefnyddio mynegai'r elfen. Er enghraifft: $fruits = array("apple", "banana", "orange"); echo $fruits[0]; // outputs "apple"
C: Sut ydych chi'n creu amrywiaeth cysylltiadol yn PHP?
A: I greu amrywiaeth cysylltiadol yn PHP, gallwch ddefnyddio'r array()
swyddogaeth a aseinio allweddi i werthoedd. Er enghraifft: $person = array("name" => "John Smith", "age" => 30, "address" => "123 Main St.");
C: Sut mae cyrchu elfen mewn arae cysylltiadol?
A: I gael mynediad at elfen mewn arae cysylltiadol, gallwch ddefnyddio allwedd yr elfen. Er enghraifft: $person = array("name" => "John Smith", "age" => 30, "address" => "123 Main St."); echo $person["name"]; // outputs "John Smith"
C: Beth yw arae nythu?
A: Mae arae nythu yn arae sy'n cynnwys un neu fwy o araeau y tu mewn iddo. Maent yn ddefnyddiol ar gyfer storio strwythurau data cymhleth.
C: Sut ydych chi'n ailadrodd trwy arae nythu?
A: I ailadrodd trwy arae nythu, gallwch ddefnyddio dolenni nythu. Er enghraifft: foreach ($fruits as $fruit) { if (is_array($fruit)) { foreach ($fruit as $subFruit) { echo $subFruit; } } else { echo $fruit; } }
C: Beth yw'r swyddogaeth i ddidoli arae yn PHP?
A: Y swyddogaeth adeiledig i ddidoli arae yn PHP yw sort()
. Er enghraifft: sort($fruits);
C: Beth yw'r swyddogaeth i gael gwared ar ddyblygiadau o arae yn PHP?
A: Y swyddogaeth adeiledig i gael gwared ar ddyblygiadau o arae yn PHP yw array_unique()
. Er enghraifft: $unique = array_unique($fruits);
C: Beth yw rhai arferion gorau i'w cofio wrth weithio gydag araeau PHP?
A: Wrth ddelio ag araeau PHP, mae rhai arferion gorau yn cynnwys dewis y math o ddata priodol, cynyddu effeithlonrwydd, rheoli gwallau a dadfygio, a bod yn ymwybodol o unrhyw risgiau diogelwch.
Ymarferion
- Creu arae sy'n cynnwys y rhifau 1 i 10.
- Creu sgript i allbynnu trydydd aelod arae.
- Creu sgript sy'n atodi 5 i ddiwedd arae.
- Creu sgript sy'n chwilio arae am y gwerth mwyaf a'i roi mewn newidyn.
- Creu sgript sy'n didoli arae yn ddisgynnol.
Atebion:
- $numbers = ystod(1,10);
- adlais $array[2];
- $array[] = 5;
- $uchaf = max($array);
- rsort($array);