PHP massiiv: assotsiatiivne, mitmemõõtmeline

⚡ Nutikas kokkuvõte

PHP massiivid salvestavad ühte muutujasse palju seotud väärtusi, muutes seotud andmete grupeerimise ja töötlemise lihtsaks. See käsiraamat hõlmab numbrilisi, assotsiatiivseid ja mitmemõõtmelisi massiive, massiivide võrdlusoperaatoreid ning põhifunktsioone, nagu count, sort, ksort ja asort.

  • 🧰 Mida massiivid teevad: Massiiv sisaldab ühes muutujas mitut omavahel seotud väärtust, millele pääseb ligi numbriliste või nimega võtmete abil, mitte paljude eraldi muutujate abil.
  • 🔢 Numbrilised massiivid: Numbrilised massiivid kasutavad iga salvestatud elemendi lugemiseks või määramiseks täisarvulisi indeksvõtmeid, mis algavad nullist.
  • ???? ️ Assotsiatiivsed massiivid: Assotsiatiivsed massiivid kasutavad kirjeldavaid stringvõtmeid, mis sobib ideaalselt nimede sidumiseks väärtuste või kaardigaping andmebaasi väljad.
  • 🧬 Mitmemõõtmeline: Mitmemõõtmeline massiiv pesastab massiive massiivi sisse, gruppiping struktureeritud andmed, näiteks kategooriate kaupa korraldatud filmid.
  • 🇧🇷 Array Operators: Ühendusoperaator ühendab massiive, samas kui == kontrollib väärtuste võrdsust ja === kontrollib ka võtmete järjekorda ja andmetüüpe.
  • 🔧 Massiivi funktsioonid: count, is_array, sort, ksort ja asort annavad aru massiivi sisust ja järjestavad selle ümber väärtuse või võtme järgi.
  • 🤖 Tehisintellekti abi: Tehisintellekti tööriistad saavad andmebaasi read muuta assotsiatiivseteks massiivideks ja aidata segadust tekitavate mitmemõõtmeliste massiivistruktuuride silumisel.

PHP massiivid

Mis on PHP massiiv?

PHP massiiv on muutuja, mis salvestab ühte muutujasse rohkem kui ühe seotud andmed.

Mõelge massiivile kui šokolaadikarbile, mille sees on pilud.

Kast tähistab massiivi ennast, samas kui šokolaadi sisaldavad tühikud tähistavad massiivis talletatud väärtusi.

Allolevad näited illustreerivad, kuidas see toimib.

Numbrilised massiivid

Numbrilised massiivid kasutavad numbreid juurdepääsuvõtmetena.

Pääsuvõti on viide massiivimuutuja mälupesale.

Juurdepääsuvõtit kasutatakse alati, kui soovime massiivi elemendilt lugeda või uue väärtuse määrata.

Allpool on süntaks numbrilise massiivi loomiseks PHP-s.

Massiivi näide

<?php
$variable_name[n] = value;
?>

Or

<?php
$variable_name = array(n => value, ...);
?>

SIIN,

  • "$muutuja_nimi…" on muutuja nimi
  • "[n]" on elemendi juurdepääsuindeksi number
  • "value" on massiivi elemendile määratud väärtus.

Vaatame nüüd numbrilise massiivi näidet.

Oletame, et meil on 5 filmi, mida tahame massiivi muutujatena salvestada.

Selleks saame kasutada allpool toodud näidet.

<?php

$movie[0] = 'Shaolin Monk';
$movie[1] = 'Drunken Master';
$movie[2] = 'American Ninja';
$movie[3] = 'Once upon a time in China';
$movie[4] = 'Replacement Killers';

?>

Siin

PHP massiiv

Igale filmile antakse indeksnumber, mida kasutatakse selle väärtuse hankimiseks või muutmiseks. Jälgige järgmist koodi.

<?php
$movie[0]="Shaolin Monk";
$movie[1]="Drunken Master";
$movie[2]="American Ninja";
$movie[3]="Once upon a time in China";
$movie[4]="Replacement Killers";
echo $movie[3];
$movie[3] = " Eastern Condors";
echo $movie[3];
?>

Väljund:

Once upon a time in China Eastern Condors

Nagu ülaltoodud näidetest näha, on PHP-s massiividega töötamine mitme sama laadi väärtusega tegelemisel väga lihtne ja paindlik.

Teise võimalusena saab ülaltoodud massiivi muutujaid luua ka järgmise koodi abil.

<?php
$movie = array(0 => "Shaolin Monk",
1 => "Drunken Master",
2 => "American Ninja",
3 => "Once upon a time in China",
4 => "Replacement Killers" );
echo $movie[4];
?>

Väljund:

Replacement Killers

PHP assotsiatiivne massiiv

Assotsiatiivsed massiivid erinevad numbrilistest massiividest selle poolest, et assotsiatiivsed massiivid kasutavad ID-võtmete jaoks kirjeldavaid nimesid.

Allpool on assotsiatiivse massiivi loomise süntaks PHP-s.

<?php
$variable_name['key_name'] = value;

$variable_name = array('keyname' => value);
?>

SIIN,

  • "$muutuja_nimi…" on muutuja nimi
  • „['võtme_nimi']” on elemendi juurdepääsuvõti
  • "value" on massiivi elemendile määratud väärtus.

Oletame, et meil on rühm inimesi ja me tahame iga inimese soo tema nime kõrvale määrata.

Selleks saame kasutada assotsiatiivset massiivi. Allolev kood aitab meil seda teha.

<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");
print_r($persons);
echo "";
echo "Mary is a " . $persons["Mary"];
?>

SIIN,

PHP massiiv

Väljund:

Array ( [Mary] => Female [John] => Male [Mirriam] => Female ) Mary is a Female

Assotsiatiivsed massiivid on väga kasulikud ka andmebaasist andmete hankimisel.

Väljade nimesid kasutatakse ID-võtmetena.

PHP Mitmemõõtmelised massiivid

Need on massiivid, mis sisaldavad muid pesastatud massiive.

Mitmemõõtmeliste massiivide eeliseks on see, et need võimaldavad meil omavahel seotud andmeid rühmitada.

Vaatame nüüd praktilist näidet, mis rakendab PHP mitmemõõtmelist massiivi.

Allolev tabel näitab filmide loendit kategooriate kaupa.

Filmi pealkiri Kategooria
Pink Panther Komöödia
John inglise Komöödia
visa kaduma tegevus
Käibematerjalid tegevus
Sõrmuste isand Eepiline
Romeo ja Julia romantika
Ei näe kurja, ära kuule kurja Komöödia

Ülaltoodud teavet saab esitada mitmemõõtmelise massiivina. Allolev kood näitab rakendamist.

<?php
$movies = array(
"comedy" => array("Pink Panther", "John English", "See no evil hear no evil"),
"action" => array("Die Hard", "Expendables"),
"epic" => array("The Lord of the rings"),
"Romance" => array("Romeo and Juliet")
);
print_r($movies);
?>

SIIN,

PHP massiiv

Väljund:

Array ( [comedy] => Array ( [0] => Pink Panther [1] => John English [2] => See no evil hear no evil ) [action] => Array ( [0] => Die Hard [1] => Expendables ) [epic] => Array ( [0] => The Lord of the rings ) [Romance] => Array ( [0] => Romeo and Juliet ) )

Teine viis sama massiivi defineerimiseks on järgmine.

<?php
$film = array(
"comedy" => array(
0 => "Pink Panther",
1 => "John English",
2 => "See no evil hear no evil"
),
"action" => array (
0 => "Die Hard",
1 => "Expendables"
),
"epic" => array (
0 => "The Lord of the rings"
),
"Romance" => array
(
0 => "Romeo and Juliet"
)
);
echo $film["comedy"][0];
?>

Väljund:

Pink Panther

Märkus: filmide numbriline massiiv on pesastatud kategooriate assotsiatiivse massiivi sisse.

PHP massiivid: Operatorse

Operator Eesnimi Kirjeldus Kuidas seda teha Väljund
x+y Liit Kombineerib mõlema massiivi elemente
<?php
$x = array('id' => 1);

$y = array('value' => 10);

$z = $x + $y;
?>
Massiiv([id] => 1 [väärtus] => 10)
x == y võrdne Võrdleb kahte massiivi ja tagastab väärtuse tõene, kui need on võrdsed
<?php
$x = array("id" => 1);

$y = array("id" => "1");

if($x == $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Tõsi või 1
x === y Identne Võrdleb nii väärtusi kui andmetüübid
<?php
$x = array("id" => 1);

$y = array("id" => "1");

if($x === $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Vale või 0
x != y, x <> y Pole võrdne Tagastab väärtuse tõene, kui kaks massiivi ei ole võrdsed
<?php
$x = array("id" => 1);

$y = array("id" => "1");

if($x != $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Vale või 0
x !== y Mitte identsed Tagastab väärtuse tõene, kui kaks massiivi ei ole väärtuse või tüübi poolest identsed.
<?php
$x = array("id" => 1);

$y = array("id" => "1");

if($x !== $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Tõsi või 1

PHP massiivi funktsioonid

Loendamise funktsioon

Count funktsiooni kasutatakse PHP massiivi elementide arvu loendamiseks. Allolev kood näitab selle rakendamist.

<?php
$lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith");
echo count($lecturers);
?>

Väljund:

3

is_massiiv funktsioon

Funktsiooni is_array kasutatakse selleks, et teha kindlaks, kas muutuja on massiiv või mitte. Vaatame nüüd näidet, mis rakendab funktsiooni is_array.

<?php
$lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith");
echo is_array($lecturers);
?>

Väljund:

1

Sort

Seda funktsiooni kasutatakse massiivide sortimiseks nende väärtuste järgi.

Kui väärtused on tähtnumbrilised, sorteerib see need tähestikulises järjekorras.

Kui väärtused on numbrilised, sorteerib see need kasvavas järjekorras.

See eemaldab olemasolevad juurdepääsuvõtmed ja lisab uued numbriklahvid.

Selle funktsiooni väljund on numbriline massiiv.

<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");

sort($persons);

print_r($persons);
?>

Väljund:

Array ( [0] => Female [1] => Female [2] => Male )

ksort

Seda funktsiooni kasutatakse massiivi sortimiseks klahvi abil. Järgmine näide illustreerib selle kasutamist.

<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");

ksort($persons);

print_r($persons);
?>

Väljund:

Array ( [John] => Male [Mary] => Female [Mirriam] => Female )

sortiment

see funktsioon kasutatakse massiivi sortimiseks väärtuste abil, samal ajal kui keeping võtmed. Järgmine näide illustreerib selle kasutamist.

<?php

$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");

asort($persons);

print_r($persons);

?>

Väljund:

Array ( [Mary] => Female [Mirriam] => Female [John] => Male )

Miks kasutada massiive?

  • Massiivi sisu saab venitada, et mahutada rohkem väärtusi.
  • Massiivid aitavad hõlpsalt grupeerida seotud teavet, näiteks serveri sisselogimisandmeid.
  • Massiivid aitavad kirjutada puhtamat koodi.

KKK

Foreach-tsükkel on kõige levinum viis. Iga väärtuse lugemiseks kirjuta foreach ($array as $value) või massiivi iga elemendi nii võtme kui ka väärtuse lugemiseks foreach ($array as $key => $value).

sort() järjestab väärtused ümber ja indekseerib massiivi uute numbriliste võtmetega, kaotades algsed võtmed. asort() sorteerib väärtuse järgi, kuid hoiab iga väärtuse seotuna algse võtmega, mis on oluline assotsiatiivsete massiivide puhul.

Lisamiseks kasuta array_push() või $arr[] = väärtus ja lõpust või algusest eemaldamiseks array_pop() või array_shift(). Konkreetse elemendi kustutamiseks võtme järgi kasuta funktsiooni unset().

Jah. Tehisintellekt saab kirjutada toomise tsükli, mis kaardistab iga rea ​​veeru nimega võtmestatud assotsiatiivseks massiiviks, ning soovitada kasutada toomise meetodeid, mis tagastavad assotsiatiivsed massiivid otse teie andmebaasi draiverist.

Jah. Kleebi print_r või var_dump väljund ja tehisintellekt oskab selgitada pesastamist, näidata täpset teed väärtuseni (nt $film['comedy'][0]) ja leida mittevastavaid võtmeid või tasemeid.

Võta see postitus kokku järgmiselt: