ΥπολογιστέςΠρογραμματισμός

PHP Πρακτική: σύγκρισης συμβολοσειράς

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

Κάθε αλγόριθμος - μια σειρά από επιλογές και δράσεις. Αλλά προτού να κάνετε μια επιλογή, θα πρέπει να έχετε κάτι για να το συγκρίνουμε με κάτι. Γραμμή - το πιο ευρύχωρο, αποτελεσματικό και πρακτικό μηχανισμό ελέγχου αλγόριθμο. Γραμμή - μια παραλλαγή της παρουσίασης των δεδομένων. Ένας δεδομένα - αυτό είναι το κύριο θέμα της «φροντίδας» του κάθε αλγορίθμου.

Τακτική λογική «σχέση δράση»

Σε γενικές γραμμές, οι δυναμικοί τύποι της γλώσσας κάνει καμία διαφορά στα δεδομένα, όπως η γραμμή PHP σύγκριση και ο αριθμός δεν είναι πολύ διαφορετική. Αριθμός - είναι επίσης μια κλωστή, όταν περιέχει μόνο αριθμούς, το σημείο και δεν υπάρχει ούτε ένα χαρακτήρα που δεν χρησιμοποιείται για να αντιπροσωπεύσει τους αριθμούς σε οποιαδήποτε μορφή (μαθηματική σημειογραφία).

Αν kontenkatsii αριθμό συγχωνεύει αυτόματα με τη γραμμή, δεν ερωτήσεις και κρυφές λάθη, ακόμη και αν gettype () συνάρτηση δίνει το «ακέραιο» ή «διπλό».

Ωστόσο, υπάρχει μια διαφορά μεταξύ της χρήσης is_int () και is_numeric (). Το πρώτο δίνει την αλήθεια, μόνο όταν η παράμετρος είναι ένας ακέραιος, δεύτερο, όταν οποιοσδήποτε αριθμός ή αριθμητική συμβολοσειρά (μεταβλητή τύπος είναι «κορδόνι», αλλά περιλαμβάνει όλες τις προβλέπονται μαθηματική σημειογραφία).

Αυτό είναι ένα απλό παράδειγμα - ένα καλό παράδειγμα για το πώς μια τελεστές σύγκρισης PHP εγχόρδων ( «==» «===» ... «=»!) Μπορεί να παρουσιάσει πολλές εκπλήξεις. Οι μεταβλητές μπορούν να αλλάξουν τον τύπο τους, δεν είναι πάντα αριθμούς, αλλά σχεδόν πάντα μπορούν να οδηγήσουν στη γραμμή. Σε μια ακραία περίπτωση - θα είναι μια κενή συμβολοσειρά.

Με βάση τα παραπάνω, μια λειτουργία σύγκρισης συμβολοσειράς PHP είναι η πιο δημοφιλής. Τι ακριβώς να επιλέξει, για να αποφασίσει ο κύριος του έργου. Πολλά ήταν διαθέσιμα έως τις κανονικές εκφράσεις επιλογές.

Τα όρια των διαθέσιμων λειτουργικών

PHP-σύγκριση των δύο σειρών είναι καλό «κάνει» strpos λειτουργία () - το φθηνότερο, οι πιστοί και πρακτική επιλογή. Αν το αποτέλεσμα του αριθμού λειτουργίας, τότε είναι σαφές ότι ένα string είναι ίση με το άλλο ή το ένα μέρος στο άλλο.

Ριζικά αντίθετο, αλλά και απολύτως η σωστή προσέγγιση - η χρήση κανονικών εκφράσεων.

Αν η λειτουργία $ cResult = scCheckFileName ($ CSTR) δίνει «αλήθεια», τότε η γραμμή είναι το όνομα του αρχείου vordovsky. Θα έχει μόνο μία επιλογή επέκτασης ».docx και δεν χαρακτήρες στο όνομα μόνο γράμματα, ψηφία, και τους χαρακτήρες“_”,“-”.

Η λειτουργία αυτή μπορεί εύκολα να μετατραπεί σε άλλους τύπους αρχείων: $ cptr = «/^([a-zA-Z...0-9\-\_]{4,239})\.(html|js|css|png|jpg | docx | txt) {1} $ / u». Αυτή η παραλλαγή επεκτείνει το εύρος σάρωσης downloadable γραμμή (π.χ., σύγκριση PHP συμβολοσειράς εφαρμόζεται «να φορτώσουν αρχεία σε ένα διακομιστή, χωρίς καμία πιθανότητα λάθους εισόδου») για html, js, css, ...

Χρησιμοποιώντας το strpos () και preg_match () - ακραίες. Δεν σχετίζονται άμεσα με το θέμα της περιόδου σύγκρισης. Αλλά το ερώτημα του αλγορίθμου - είναι ένα θέμα, χρησιμοποιώντας ένα συνδυασμό του στυλ, χρήση όλων των δυνατοτήτων για να επιτευχθεί ένα αξιόπιστο και σωστό αποτέλεσμα.

Λειτουργική PHP: σύγκρισης συμβολοσειράς

Άρσεναλ γλώσσα σύγκριση χορδές - μια καθαρή, όχι μόνο η λειτουργία σύγκρισης, αλλά και ένας συνδυασμός μιας αναζήτησης ή υποκατάστατο άμεσα. Δεν ενεργούμε πάντα πρέπει να συμπίπτει με τη σύγκριση, δεδομένου ότι η τελευταία δεν οδηγεί απαραίτητα σε μια αλλαγή σε οποιαδήποτε σειρά. Συχνά θα πρέπει να επιλέξετε το ένα ή το άλλο σκέλος του αλγορίθμου.

Κανονική παραλλαγή PHP: εκτελεί σύγκρισης συμβολοσειράς συνάρτηση int strcmp (s1, s2).

Το αποτέλεσμα της συνάρτησης:

  • 0 - γραμμή είναι ίσες?
  • -1 - η πρώτη συμβολοσειρά είναι μικρότερο από το δεύτερο?
  • 1 - η πρώτη περισσότερο από την δεύτερη σειρά.

Στην πράξη, αυτό σημαίνει ότι τμήμα της πρώτης σειράς στη δεύτερη, από την οποία λειτουργία PHP (σειρές σύγκριση) αποφασίζει. Μια πιο περιορισμένη έκδοση του strpos (), γιατί στην τελευταία περίπτωση είναι δυνατόν να γνωρίζουμε τη θέση της εισόδου.

strcmp () λειτουργία - ευαίσθητη. Αν θέλετε να συγκρίνετε το string-αναίσθητη, PHP προσφέρει strcasecmp της (). Η σύνταξη είναι παρόμοια.

Στην πράξη, συχνά απαιτείται να μην συνεργαστεί με το σύνολο της γραμμής, αλλά μόνο μέρος της. Για αυτό το σύνολο των λειτουργιών PHP (σύγκριση συμβολοσειράς) περιλαμβάνονται strncmp (s1, s2, Ν). Η τρίτη παράμετρος καθορίζει εκτελέσει τη σύγκριση μόνο Ν-bytes. Το αποτέλεσμα είναι παρόμοιο strcmp ().

Πίνακες, χορδές και σύγκριση

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

συστοιχίες String και σειρές μπορούν να παρέχονται με συμπληρωματικό τρόπο. Μετασχηματισμός της συστοιχίας σε ένα implode συνάρτηση συμβολοσειρά (array, σύμβολο), για παράδειγμα: $ margins1 = implode ( '', $ στυλ-> getInnerMargin ())? ... ο αλγόριθμος / χρήστη ...? $ Margins2 = implode ( «», $ στυλ-> getInnerMargin ()) σας επιτρέπει να συγχωνεύσετε όλα της θέσης αντικειμένου στη θέση κορδόνι.

Στη συνέχεια μπορείτε να εκτελέσετε τη σύγκριση συμβολοσειράς PHP, και σε μια στιγμή: $ έλεγχος = strcmp ($ margins1, $ margins2) και βεβαιωθείτε ότι ο αλγόριθμος ή ο χρήστης που κάτι έχει αλλάξει (ή όχι). Εάν εκτελέσετε μια σύγκριση με τον συνήθη τρόπο, θα πρέπει να ταξινομήσετε τα στοιχεία του πίνακα. Παίρνει περισσότερο και είναι πιο περίπλοκη.

Αντικείμενα και τη γραμμή

Ακόμη πιο εντυπωσιακή χρήση της PHP (συγκρίσεις εγχόρδων) μπορούν να υλοποιηθούν μέσω object-oriented ιδέες.

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

Σε αντίθεση με συστοιχίες, το αντικείμενο κάνει την εργασία με τις δικές τους ιδιότητες και αλληλεπιδρά με άλλα αντικείμενα. Αντικείμενο «αρμόδια» στην οποία ιδιότητές του έχουν πραγματική αξία για τον αλγόριθμο του προγράμματος στο σύνολό του.

Αυτή τη στιγμή αποτελεί τη βάση και την ευκαιρία να καταγράψει κατά την εγγραφή ένα κορδόνι μόνο τις απαραίτητες πληροφορίες, και στην ανάκτηση της γραμμής για να επαναφέρετε όλες τις ιδιότητες που εργάζονται στην επιθυμητή κατάσταση. Συνήθως, σε οποιοδήποτε αντικείμενο υπάρχει ουσιαστική ενημέρωση και εργασίας (το χρόνο). Η υλοποίηση αυτής της ιδέας σας επιτρέπει να αποθηκεύσετε όχι μόνο τη μνήμη, χώρο στο δίσκο, το αρχείο της βάσης δεδομένων, αλλά επίσης καθιστά δυνατή τη σύγκριση των γραμμών απλούστερο και ακριβέστερο τρόπο.

Σύνταξη και Σημασιολογία

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

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

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 el.unansea.com. Theme powered by WordPress.