Πίνακας PHP: Συνειρμικός, Πολυδιάστατος

Τι είναι ένας πίνακας PHP;

Ένας πίνακας PHP είναι μια μεταβλητή που αποθηκεύει περισσότερα από ένα κομμάτια σχετικών δεδομένων σε μια μεμονωμένη μεταβλητή.

Σκεφτείτε μια σειρά σαν ένα κουτί με σοκολάτες με υποδοχές μέσα.

Το πλαίσιο αντιπροσωπεύει τον ίδιο τον πίνακα ενώ τα κενά που περιέχουν σοκολάτες αντιπροσωπεύουν τις τιμές που είναι αποθηκευμένες στους πίνακες.

Το παρακάτω διάγραμμα απεικονίζει την παραπάνω σύνταξη.

Αριθμητικούς Πίνακες

Οι αριθμητικοί πίνακες χρησιμοποιούν τον αριθμό ως κλειδιά πρόσβασης.

Ένα κλειδί πρόσβασης είναι μια αναφορά σε μια υποδοχή μνήμης σε μια μεταβλητή πίνακα.

Το κλειδί πρόσβασης χρησιμοποιείται κάθε φορά που θέλουμε να διαβάσουμε ή να εκχωρήσουμε μια νέα τιμή σε ένα στοιχείο πίνακα.

Παρακάτω είναι η σύνταξη για τη δημιουργία αριθμητικού πίνακα σε php.

Παράδειγμα πίνακα

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

Or

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

ΕΔΩ,

  • "$variable_name..." είναι το όνομα της μεταβλητής
  • Το "[n]" είναι ο αριθμός ευρετηρίου πρόσβασης του στοιχείου
  • "τιμή" είναι η τιμή που αποδίδεται στο στοιχείο πίνακα.

Ας δούμε τώρα ένα παράδειγμα ενός αριθμητικού πίνακα.

Ας υποθέσουμε ότι έχουμε 5 ταινίες που θέλουμε να αποθηκεύσουμε σε μεταβλητές πίνακα.

Μπορούμε να χρησιμοποιήσουμε το παράδειγμα που φαίνεται παρακάτω για να το κάνουμε αυτό.

<?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';

?>

Εδώ,

Πίνακας PHP

Σε κάθε ταινία δίνεται ένας αριθμός ευρετηρίου που χρησιμοποιείται για την ανάκτηση ή την τροποποίηση της τιμής της. Τηρήστε τον παρακάτω κώδικα-

<?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];
?>

Παραγωγή:

Once upon a time in China Eastern Condors

Όπως μπορείτε να δείτε από τα παραπάνω παραδείγματα, η εργασία με πίνακες στην PHP όταν ασχολείστε με πολλαπλές τιμές της ίδιας φύσης είναι πολύ εύκολη και ευέλικτη.

Εναλλακτικά, οι παραπάνω μεταβλητές πίνακα μπορούν επίσης να δημιουργηθούν χρησιμοποιώντας τον ακόλουθο κώδικα.

<?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];
?>

Παραγωγή:

Replacement Killers

PHP Associative Array

Ο συσχετιστικός πίνακας διαφέρει από τον αριθμητικό πίνακα με την έννοια ότι οι συσχετιστικοί πίνακες χρησιμοποιούν περιγραφικά ονόματα για κλειδιά id.

Παρακάτω είναι η σύνταξη για τη δημιουργία συσχετιστικού πίνακα σε php.

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

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

ΕΔΩ,

  • "$variable_name..." είναι το όνομα της μεταβλητής
  • Το "['key_name']" είναι ο αριθμός ευρετηρίου πρόσβασης του στοιχείου
  • "τιμή" είναι η τιμή που αποδίδεται στο στοιχείο πίνακα.

Ας υποθέσουμε ότι έχουμε μια ομάδα ατόμων και θέλουμε να αντιστοιχίσουμε το φύλο κάθε ατόμου με το όνομά τους.

Μπορούμε να χρησιμοποιήσουμε έναν συσχετιστικό πίνακα για να το κάνουμε αυτό. Ο παρακάτω κώδικας μας βοηθά να το κάνουμε αυτό.

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

ΕΔΩ,

Πίνακας PHP

Παραγωγή:

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

Ο συσχετιστικός πίνακας είναι επίσης πολύ χρήσιμος κατά την ανάκτηση δεδομένων από τη βάση δεδομένων.

Τα ονόματα των πεδίων χρησιμοποιούνται ως κλειδιά αναγνώρισης.

PHP Πολυδιάστατοι πίνακες

Αυτοί είναι πίνακες που περιέχουν άλλους ένθετους πίνακες.

Το πλεονέκτημα των πολυδιάστατων πινάκων είναι ότι μας επιτρέπουν να ομαδοποιήσουμε τα σχετικά δεδομένα μαζί.

Ας δούμε τώρα ένα πρακτικό παράδειγμα που υλοποιεί έναν πολυδιάστατο πίνακα php.

Ο παρακάτω πίνακας δείχνει μια λίστα ταινιών ανά κατηγορία.

Τίτλος ταινίας κατηγορία
Ροζ Πάνθηρας Κωμωδία
John English Κωμωδία
Πεθαίνω δύσκολα Ενέργειες
Expendables Ενέργειες
Ο άρχοντας των δαχτυλιδιών Έπος
Ρωμαίος και Ιουλιέτα Ρομαντισμός
Δες κανένα κακό άκου κανένα κακό Κωμωδία

Οι παραπάνω πληροφορίες μπορούν να αναπαρασταθούν ως πολυδιάστατος πίνακας. Ο παρακάτω κώδικας δείχνει την υλοποίηση.

<?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);
?>

ΕΔΩ,

Πίνακας PHP

Παραγωγή:

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 ) )

Ένας άλλος τρόπος για να ορίσετε τον ίδιο πίνακα είναι ο ακόλουθος

<?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];
?>

Παραγωγή:

Pink Panther

Σημείωση: ο αριθμητικός πίνακας ταινιών έχει ενσωματωθεί μέσα στον συσχετιστικό πίνακα κατηγοριών

Πίνακες PHP: Operaκορμοί

OperaTor Όνομα Descriptιόν Πως να το κάνεις Παραγωγή
x+y Ένωση Συνδυάζει στοιχεία και από τους δύο πίνακες
<?php
$x = array('id' => 1);

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

$z = $x + $y;
?>
Πίνακας([id] => 1 [τιμή] => 10)
X == y Ισος Συγκρίνει δύο πίνακες αν είναι ίσοι και επιστρέφει true αν ναι.
<?php
$x = array("id" => 1);

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

if($x == $y)
{
echo "true";
}
else
{
echo "false";

}
?>
Σωστό ή 1
X === y Πανομοιότυπο Συγκρίνει τόσο τις τιμές και τύπους δεδομένων
<?php
$x = array("id" => 1);

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

if($x === $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Λάθος ή 0
X != y, x <> y Όχι ίσο
<?php
$x = array("id" => 1);

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

if($x != $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Λάθος ή 0
X !== y Μη πανομοιότυπα
<?php
$x = array("id" => 1);

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

if($x !== $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Σωστό ή 1

Λειτουργίες πίνακα PHP

Συνάρτηση μέτρησης

Η συνάρτηση count χρησιμοποιείται για να μετρήσει τον αριθμό των στοιχείων που περιέχει ένας πίνακας php. Ο παρακάτω κώδικας δείχνει την υλοποίηση.

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

Παραγωγή:

3

συνάρτηση is_array

Η συνάρτηση is_array χρησιμοποιείται για να προσδιορίσει εάν μια μεταβλητή είναι πίνακας ή όχι. Ας δούμε τώρα ένα παράδειγμα που υλοποιεί τις συναρτήσεις is_array.

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

Παραγωγή:

1

Είδος

Αυτή η συνάρτηση χρησιμοποιείται για την ταξινόμηση των πινάκων με βάση τις τιμές.

Εάν οι τιμές είναι αλφαριθμητικές, τις ταξινομεί με αλφαβητική σειρά.

Εάν οι τιμές είναι αριθμητικές, τις ταξινομεί με αύξουσα σειρά.

Καταργεί τα υπάρχοντα κλειδιά πρόσβασης και προσθέτει νέα αριθμητικά κλειδιά.

Η έξοδος αυτής της συνάρτησης είναι ένας αριθμητικός πίνακας

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

sort($persons);

print_r($persons);
?>

Παραγωγή:

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

ksort

Αυτή η συνάρτηση χρησιμοποιείται για την ταξινόμηση του πίνακα χρησιμοποιώντας το πλήκτρο. Το παρακάτω παράδειγμα δείχνει τη χρήση του.

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

ksort($persons);

print_r($persons);
?>

Παραγωγή:

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

συλλογή

Αυτός ο διαλογισμός στα λειτουργία χρησιμοποιείται για την ταξινόμηση του πίνακα χρησιμοποιώντας τις τιμές. Το παρακάτω παράδειγμα δείχνει τη χρήση του.

<?php

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

asort($persons);

print_r($persons);

?>

Παραγωγή:

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

Γιατί να χρησιμοποιήσετε πίνακες;

  • Τα περιεχόμενα των συστοιχιών μπορούν να τεντωθούν,
  • Οι πίνακες βοηθούν εύκολα στην ομαδοποίηση σχετικών πληροφοριών, όπως στοιχεία σύνδεσης διακομιστή
  • Οι πίνακες βοηθούν στη σύνταξη καθαρότερου κώδικα.

Σύνοψη

  • Οι πίνακες είναι ειδικές μεταβλητές με δυνατότητα αποθήκευσης πολλών τιμών.
  • Οι πίνακες είναι ευέλικτοι και μπορούν εύκολα να τεντωθούν για να χωρέσουν περισσότερες τιμές
  • Οι αριθμητικοί πίνακες χρησιμοποιούν αριθμούς για τα πλήκτρα πίνακα
  • Ο συσχετικός πίνακας PHP χρησιμοποιεί περιγραφικά ονόματα για κλειδιά πίνακα
  • Οι πολυδιάστατοι πίνακες περιέχουν άλλους πίνακες μέσα τους.
  • Η συνάρτηση count χρησιμοποιείται για να λάβουμε τον αριθμό των στοιχείων που έχουν αποθηκευτεί σε έναν πίνακα
  • Η συνάρτηση is_array χρησιμοποιείται για να προσδιορίσει εάν μια μεταβλητή είναι έγκυρος πίνακας ή όχι.
  • Άλλες λειτουργίες συστοιχίας περιλαμβάνουν sort, ksort, assort κ.λπ.