Συναρτήσεις συμβολοσειράς PHP που εξηγούνται με παραδείγματα

⚡ Έξυπνη Σύνοψη

Οι συμβολοσειρές στην PHP είναι ταξινομημένες συλλογές χαρακτήρων και ένας από τους βασικούς τύπους δεδομένων της γλώσσας. Αυτή η αναλυτική παρουσίαση δείχνει τους τέσσερις τρόπους δημιουργίας συμβολοσειρών, μονών εισαγωγικών, διπλών εισαγωγικών, heredoc και nowdoc, και στη συνέχεια παρουσιάζει τις πιο χρήσιμες ενσωματωμένες συναρτήσεις συμβολοσειρών με παραδείγματα.

  • 🔤 Τι είναι οι συμβολοσειρές: Μια συμβολοσειρά είναι μια ακολουθία χαρακτήρων και ένας βασικός τύπος δεδομένων PHP που χρησιμοποιείται για τη συγκράτηση κειμένου, όπως ονόματα, μηνύματα και HTML.
  • » Μεμονωμένα αποσπάσματα: Οι συμβολοσειρές σε μονά εισαγωγικά είναι κυριολεκτικές. Οι μεταβλητές δεν επεκτείνονται και ερμηνεύονται μόνο τα εισαγωγικά που διαφεύγουν και η ανάστροφη κάθετος.
  • " Double Αποσπάσματα: DoubleΟι συμβολοσειρές σε -quote επεκτείνουν τις μεταβλητές και ερμηνεύουν διαφυγές όπως \n, καθιστώντας τες ιδανικές για δυναμικό κείμενο.
  • 📄 Χερέντοκ: Το Heredoc κατασκευάζει συμβολοσειρές πολλαπλών γραμμών με μεταβλητή επέκταση, χωρίς escaping τα διπλά εισαγωγικά στο εσωτερικό τους.
  • 🔒 Nowdoc: Το Nowdoc λειτουργεί όπως τα μονά εισαγωγικά για ακατέργαστο κείμενο πολλαπλών γραμμών, χωρίς να εκτελεί ανάλυση ή επέκταση μεταβλητών.
  • 🔧 Συναρτήσεις συμβολοσειράς: Συναρτήσεις όπως strlen, strpos, substr, str_replace και explode επιθεωρούν και μετασχηματίζουν τιμές συμβολοσειρών.
  • 🤖 AI Assist: Τα εργαλεία τεχνητής νοημοσύνης μπορούν να προτείνουν τη σωστή συνάρτηση συμβολοσειράς για μια εργασία και να δημιουργήσουν βοηθήματα καθαρισμού ή μορφοποίησης.

Συμβολοσειρές PHP

Τι είναι το String στην PHP;

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

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

  • Δηλώνετε μια μεταβλητή και της αντιστοιχίζετε χαρακτήρες συμβολοσειράς
  • Χρησιμοποιείτε απευθείας συμβολοσειρές PHP με την εντολή echo.
  • Οι συναρτήσεις συμβολοσειράς PHP είναι γλωσσικές δομές που σας βοηθούν να εργαστείτε με κείμενο.
  • Το να μάθετε πώς λειτουργούν οι συμβολοσειρές στην PHP και πώς να τις χειρίζεστε θα σας κάνει έναν πολύ αποτελεσματικό και παραγωγικό προγραμματιστή.

PHP Δημιουργία συμβολοσειρών χρησιμοποιώντας μεμονωμένα εισαγωγικά με Παράδειγμα

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

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

Ας δούμε ένα παράδειγμα που δημιουργεί μια απλή συμβολοσειρά σε PHP.

<?php
var_dump('You need to be logged in to view this page');
?>

Παραγωγή:

string(42) "You need to be logged in to view this page"

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

Ο παρακάτω κώδικας δείχνει πώς να ξεφύγετε από ένα μεμονωμένο απόσπασμα.

<?php
echo 'I \'ll be back after 20 minutes';
?>

Παραγωγή:

I'll be back after 20 minutes

PHP Δημιουργία συμβολοσειρών με χρήση Double αποσπάσματα με Παράδειγμα

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

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

Ας δούμε ένα παράδειγμα.

<?php
$name = 'Alicia';
echo "$name is friends with kalinda";
?>

PHP Δημιουργία συμβολοσειρών με χρήση Double εισαγωγικά

ΕΔΩ,

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

Παραγωγή:

Alicia is friends with kalinda

Εκτός από την παρεμβολή μεταβλητών, η συμβολοσειρά διπλών εισαγωγικών μπορεί επίσης να διαφύγει από περισσότερους ειδικούς χαρακτήρες όπως "\n για αλλαγή γραμμής, \$ για το σύμβολο του δολαρίου" κ.λπ.

Περισσότερα παραδείγματα. Ας υποθέσουμε ότι έχουμε τον ακόλουθο κώδικα.

<?php $pwd = "pas$word"; echo $pwd; ?>

Παραγωγή:

NOTICE : Undefined variable
pas

Η εκτέλεση του παραπάνω κώδικα εμφανίζει την ειδοποίηση "Notice: Undefined variable".

Αυτό συμβαίνει επειδή το $word αντιμετωπίζεται ως α μεταβλητή.

Αν θέλουμε το σύμβολο του δολαρίου να αντιμετωπίζεται ως κυριολεκτική αξία, πρέπει να το ξεφύγουμε.

<?php
$word = "word";
$pwd = "pas\$word";
echo $pwd; ?>

Παραγωγή:

pas$word

PHP Heredoc με Παράδειγμα

Η μεθοδολογία heredoc χρησιμοποιείται για τη δημιουργία αρκετά σύνθετων συμβολοσειρών σε σύγκριση με τα διπλά εισαγωγικά.

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

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

Μπορείτε επίσης να χρησιμοποιήσετε διπλά εισαγωγικά μέσα χωρίς escaping Θεμ.

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

<?php

$baby_name = "Shalon";

echo <<<EOT

When $baby_name was a baby,

She used to look like a "boy".

EOT;

?>

ΕΔΩ,

<< είναι ο οριοθέτης χορδών.

Το ΕΟΤ είναι το ακρωνύμιο για το τέλος του κειμένου.

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

Σημείωση: μπορείτε να χρησιμοποιήσετε οτιδήποτε θέλετε αντί για EOT.

PHP Heredoc

Παραγωγή:

When Shalon was a baby, She used to look like a "boy".

PHP Nowdoc με Παράδειγμα

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

Δεν πραγματοποιείται ανάλυση μέσα στο nowdoc.

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

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

<?php

$baby_name = "Shalon";

$my_variable = <<<'EOT'

When $baby_name was a baby,

She used to look like a "boy".

EOT;

echo $my_variable;

?>

Παραγωγή:

When $baby_name was a baby, She used to look like a "boy".

Παραδείγματα συναρτήσεων συμβολοσειράς PHP

Οι συναρτήσεις συμβολοσειράς στην PHP χρησιμοποιούνται για τον χειρισμό τιμών συμβολοσειρών.

Θα εξετάσουμε τώρα μερικές από τις συνήθεις συναρτήσεις συμβολοσειρών (string functions) που χρησιμοποιούνται στην PHP.

Λειτουργία Περιγραφή Παράδειγμα Παραγωγή
strtolower Χρησιμοποιείται για τη μετατροπή όλων των χαρακτήρων συμβολοσειράς σε πεζά γράμματα echo strtolower('Βενιαμίν'); βγάζει Benjamin
στρτούπερ Χρησιμοποιείται για τη μετατροπή όλων των χαρακτήρων συμβολοσειράς σε κεφαλαία γράμματα echo strtoupper('George w bush'); εξόδους GEORGE W BUSH
strlen Η συνάρτηση μήκους συμβολοσειράς χρησιμοποιείται για την καταμέτρηση του αριθμού των χαρακτήρων σε μια συμβολοσειρά. Μετρώνται επίσης τα κενά μεταξύ των χαρακτήρων. echo strlen('Ηνωμένες Πολιτείες της Αμερικής'); 24
εκραγεί Χρησιμοποιείται για τη μετατροπή συμβολοσειρών σε μεταβλητή πίνακα $settings = explode(';', "host=localhost; db=sales; uid=root; pwd=demo"); print_r($settings); Πίνακας ( [0] => host=localhost [1] => db=sales [2] => uid=root [3] => pwd=demo )
substr Χρησιμοποιείται για την επιστροφή μέρους της συμβολοσειράς. Δέχεται τρεις βασικές παραμέτρους: τη συμβολοσειρά που θα συντομευτεί, την αρχική θέση και τον αριθμό των χαρακτήρων που θα επιστραφούν. $my_var = 'Αυτή είναι μια πολύ μεγάλη πρόταση που θέλω να συντομεύσω';echo substr($my_var,0, 12).'…'; Αυτό είναι ένα ρε…
str_replace Χρησιμοποιείται για τον εντοπισμό και την αντικατάσταση καθορισμένων τιμών συμβολοσειράς σε μια δεδομένη συμβολοσειρά. λειτουργία δέχεται τρία ορίσματα: το κείμενο που θα αντικατασταθεί, το κείμενο αντικατάστασης και το κείμενο που αναλύεται. echo str_replace ('the', 'αυτό', 'ο φορητός υπολογιστής είναι πολύ ακριβός'); αυτός ο φορητός υπολογιστής είναι πολύ ακριβός
strpos Χρησιμοποιείται για τον εντοπισμό και την επιστροφή της θέσης ενός ή περισσότερων χαρακτήρων μέσα σε μια συμβολοσειρά. Αυτή η συνάρτηση δέχεται δύο ορίσματα. echo strpos('Προγραμματισμός PHP','Pro'); 4
sha1 Χρησιμοποιείται για τον υπολογισμό του κατακερματισμού SHA-1 μιας τιμής συμβολοσειράς echo sha1('password'); 5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8
md5 Χρησιμοποιείται για τον υπολογισμό του hash MD5 μιας τιμής συμβολοσειράς echo md5('password'); 5f4dcc3b5aa765d61d8327deb882cf99
str_word_count Χρησιμοποιείται για τη μέτρηση του αριθμού των λέξεων σε μια συμβολοσειρά. echo str_word_count('Αυτή είναι μια πολύ μεγάλη πρόταση που θέλω να συντομεύσω'); 12
ucfirst Κάντε τον πρώτο χαρακτήρα μιας συμβολοσειράς με κεφαλαία γράμματα echo ucfirst('respect'); Εκροές Σεβασμός
πρώτα Κάντε τον πρώτο χαρακτήρα μιας συμβολοσειράς με πεζά γράμματα echo lcfirst('RESPECT'); Έξοδοι RESPECT

Συχνές Ερωτήσεις

Χρησιμοποιήστε τον τελεστή τελείας για να ενώσετε συμβολοσειρές, για παράδειγμα $full = $first . ' ' . $last;. Μπορείτε επίσης να προσθέσετε σε μια υπάρχουσα συμβολοσειρά με τον τελεστή .=, ο οποίος προσθέτει κείμενο στο τέλος της μεταβλητής.

Στην PHP 8, χρησιμοποιήστε την str_contains($haystack, $needle), η οποία επιστρέφει true ή false. Σε παλαιότερες εκδόσεις, χρησιμοποιήστε την strpos() και ελέγξτε ότι το αποτέλεσμα δεν είναι πανομοιότυπο με το false, καθώς μια αντιστοίχιση στη θέση 0 είναι false.

Οι συμβολοσειρές PHP είναι μεταβλητές και μπορούν να καταχωρηθούν σε ευρετήριο όπως οι πίνακες. Διαβάστε έναν χαρακτήρα με $str[0] και αλλάξτε τον ακόμη και με $str[0] = 'H'. Ο δείκτης βασίζεται στο μηδέν, επομένως ο πρώτος χαρακτήρας βρίσκεται στη θέση 0.

Ναι. Η Τεχνητή Νοημοσύνη μπορεί να γράψει βοηθήματα που περικόπτουν τα κενά διαστήματα, αφαιρούν τις ετικέτες, ομαλοποιούν την εισαγωγή πεζών-κεφαλαίων ή μετατρέπουν το κείμενο σε slug, συνδυάζοντας συναρτήσεις όπως trim, strip_tags και preg_replace. RevΔείτε τους κανόνες έτσι ώστε να ταιριάζουν ακριβώς με τα λεγόμενά σας.

Ναι. Περιγράψτε τον στόχο, όπως εύρεση, αντικατάσταση ή διαίρεση κειμένου, και η Τεχνητή Νοημοσύνη μπορεί να σας κατευθύνει σε συναρτήσεις όπως strpos, str_replace, substr ή explode, και να σας δείξει ένα σύντομο παράδειγμα για κάθε μία.

Συνοψίστε αυτήν την ανάρτηση με: