Είναι δυνατή η σύνθετη λογική στην PHP; Λειτουργίες σε PHP

Το μάθημα θα καλύπτει εντολές php υπό όρους: τη δήλωση if και την εντολή switch

Οι εντολές υπό όρους της PHP αντιπροσωπεύονται από τρεις κύριες δομές:

  • χειριστή κατάστασης αν,
  • χειριστή διακόπτη διακόπτης
  • Και τριαδικός χειριστής.

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

Δήλωση PHP if

Εικόνα 3.1. Δήλωση IF υπό όρους, σύντομη έκδοση


Ρύζι. 3.2. ΑΝ ΑΛΛΟ Σύνταξη δήλωσης υπό όρους


Ρύζι. 3.3. Πλήρης σύνταξη της υπό όρους δήλωσης IF elseif

Ας συνοψίσουμε:

Πλήρης σύνταξη:

if (συνθήκη) ( // εάν η συνθήκη είναι αληθής τελεστής1; τελεστής2; ) elseif(συνθήκη) (τελεστής1; ... ) else ( // εάν η συνθήκη είναι ψευδής τελεστής1; τελεστής2; )

  • Η συντομευμένη σύνταξη μπορεί δεν περιέχουν μέρη της ρήτρας else και δεν περιέχουν πρόσθετη συνθήκη elseif
  • Αντί για τη συνάρτηση λέξη elseif, μπορείτε να γράψετε else if (ξεχωριστά)
  • Μπορεί να υπάρχουν πολλά otherifs σε ένα if construct. Η πρώτη έκφραση elseif ίση με TRUE θα εκτελεστεί.
  • Εάν υπάρχει μια εναλλακτική συνθήκη elseif, η ρήτρα else πρέπει να είναι τελευταία στη σύνταξη.

Μια δήλωση υπό όρους μπορεί να χρησιμοποιεί άνω και κάτω τελεία: αντί για σγουρά τιράντες. Σε αυτήν την περίπτωση, η πρόταση τελειώνει με τη βοηθητική λέξη endif

Ρύζι. 3.4. Δήλωση υπό όρους If και Endif σε php

Παράδειγμα:

if($x > $y): το echo $x." είναι μεγαλύτερο από το ".$y; elseif($x == $y): // όταν χρησιμοποιείτε το ":" δεν μπορείτε να γράψετε ξεχωριστά αλλιώς εάν το echo $x." ισούται με ".$y; else: echo $x." not > and not = ".$y; τέλος εαν;

Σπουδαίος:Όταν χρησιμοποιείτε άνω και κάτω τελεία αντί για σγουρά τιράντες σε μια κατασκευή, το elseif δεν μπορεί να γραφτεί με δύο λέξεις!

Λογικές πράξεις σε μια συνθήκη

Η συνθήκη if σε παρένθεση μπορεί να περιέχει τις ακόλουθες λειτουργίες:

Παράδειγμα:ελέγξτε την τιμή μιας αριθμητικής μεταβλητής: εάν είναι μικρότερη ή ίση με 10, εμφανίστε ένα μήνυμα "ένας αριθμός μικρότερος ή ίσος του 10", διαφορετικά εμφανίστε ένα μήνυμα "αριθμός μεγαλύτερος από 10"


Λύση:

$number=15; εάν ($ αριθμός<=10) { echo "число меньше или равно 10"; } else { echo "число больше 10"; }

Τα μπλοκ κώδικα PHP μπορούν να σπάσουν, ας δούμε ένα παράδειγμα:

Παράδειγμα:Εμφάνιση κώδικα html στην οθόνη "α ισούται με 4", εάν η μεταβλητή $a είναι πραγματικά ίση με 4


1 Λύση:
1 2 3 4

2 Λύση:

1 2 3 Α ισούται με 4

Α ισούται με 4

php job 3_1:Εμφανίστε τη μετάφραση των χρωμάτων από τα αγγλικά στα ρωσικά, ελέγχοντας την τιμή της μεταβλητής (στην οποία έχει εκχωρηθεί το χρώμα: $a="blue")


php job 3_2:Βρείτε το μέγιστο των τριών αριθμών

Πράξεις σύγκρισης και ο κανόνας του ψέματος

Η κατασκευή if σε παρένθεση πρέπει να περιέχει μια λογική έκφραση ή μεταβλητή, η οποία εξετάζεται από την άποψη της άλγεβρας της λογικής, επιστρέφοντας τις τιμές είτε true είτε false

Εκείνοι. μια μεμονωμένη μεταβλητή μπορεί να λειτουργήσει ως συνθήκη. Ας δούμε ένα παράδειγμα:

1 2 3 4 $a = 1 ; αν ($a) (ηχώ $a;)

$a=1; αν ($a) (ηχώ $a;)

Στο παράδειγμα, ο μεταφραστής γλώσσας PHP θα θεωρήσει τη μεταβλητή σε αγκύλες ως κανόνα ψεύδους:

Κανόνας ΨΕΜΑΤΟΣ ή αυτό που θεωρείται ψευδές:

  • λογικός Ψευδής
  • ολόκληρο μηδέν ( 0 )
  • πραγματικό μηδέν ( 0.0 )
  • κενή γραμμήκαι χορδή «0»
  • πίνακας χωρίς στοιχεία
  • αντικείμενο χωρίς μεταβλητές
  • ειδικού τύπου ΜΗΔΕΝΙΚΟ

Έτσι, στο εξεταζόμενο παράδειγμα, η μεταβλητή $a είναι ίση με ένα, κατά συνέπεια η συνθήκη θα είναι αληθής και ο τελεστής echo $a. θα εμφανίσει την τιμή της μεταβλητής.

php job 3_3:δίνεται μια μεταβλητή a με τιμή συμβολοσειράς. Εάν το a είναι ίσο με το όνομα, τότε εκτυπώστε "Γεια, όνομα!", εάν το a είναι ίσο με μια κενή τιμή, τότε η έξοδος "Γεια σου ξένε!"

Λογικές κατασκευές ΚΑΙ Ή και ΟΧΙ στον υπό όρους τελεστή

  1. Μερικές φορές είναι απαραίτητο να προβλεφθεί η εκπλήρωση πολλών προϋποθέσεων ταυτόχρονα. Στη συνέχεια οι συνθήκες συνδυάζονται λογικός τελεστής ΚΑΙ — && :
  2. $a=1; if ($a>0 || $a>1) ( echo "a > 0 ή a > 1"; )

  3. Για να υποδείξετε εάν μια συνθήκη είναι ψευδής, χρησιμοποιήστε το λογικός τελεστής ΟΧΙ — ! :
  4. 1 2 3 4 $a = 1 ; αν (! ($a< 0 ) ) { echo "a не < 0" ; }

    $a=1; αν (!($a<0)) { echo "a не < 0"; }

Εναλλαγή χειριστή PHP

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

Σύνταξη:

1 2 3 4 5 6 7 8 9 10 διακόπτης ($variable) (περίπτωση "value1" : operator1 ; break ; case "value2" : operator2 ; break ; case "value3" : operator3 ; break ; [ default : operator4 ; break ; ] )

switch($variable)( case "value1": operator1; break; case "value2": operator2; break; case "value3": operator3; break; )

  • Ο χειριστής μπορεί να ελέγξει τόσο τις τιμές συμβολοσειράς (τότε καθορίζονται σε εισαγωγικά) όσο και τις αριθμητικές τιμές (χωρίς εισαγωγικά).
  • Απαιτείται η δήλωση break στην κατασκευή. Φεύγει από την κατασκευή εάν η συνθήκη είναι αληθής και ο τελεστής που αντιστοιχεί στη συνθήκη εκτελείται. Χωρίς διακοπή, όλες οι δηλώσεις υπόθεσης θα εκτελούνται ανεξάρτητα από την αλήθεια τους.

Ρύζι. 3.5. Δήλωση μεταγωγής υπό όρους


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


Λύση:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 $names = πίνακας ("Ivan" , "Peter" , "Semyon" ) ; διακόπτης ($names [ 0 ] ) ( case "Peter" : echo "Hello, Petya!" ; break ; case "Ivan" : echo "Hello, Vanya!" ; break ; case "Semyon" : echo "Hi, Vanya! " ; break ; default : echo "Γεια, $names!"; Διακοπή ; )

$names=array("Ivan","Peter","Semyon"); switch($names)( case "Peter": echo "Hello, Petya!"; break; case "Ivan": echo "Hello, Vanya!"; break; case "Semyon": echo "Hello, Vanya!"; break ; προεπιλογή: echo "Hello, $names!"; break;)

php job 3_4:

  • Δημιουργήστε μια μεταβλητή $day και αντιστοιχίστε της μια αυθαίρετη αριθμητική τιμή
  • Χρησιμοποιώντας την κατασκευή του διακόπτη, εκτυπώστε τη φράση «Είναι εργάσιμη μέρα», εάν η τιμή της μεταβλητής $day εμπίπτει στο εύρος των αριθμών από το 1 έως το 5 (συμπεριλαμβανομένων)
  • Εκτυπώστε τη φράση «Είναι ρεπό», εάν η τιμή της μεταβλητής $day είναι ίση με τους αριθμούς 6 ή 7
  • Εκτυπώστε τη φράση "Άγνωστη μέρα", εάν η τιμή της μεταβλητής $day δεν εμπίπτει στο εύρος των αριθμών από το 1 έως το 7 (συμπεριλαμβανομένων)

Συμπληρώστε τον κωδικό:

1 2 3 4 5 6 7 8 9 10 11 12 ... διακόπτης (... ) ( case 1 : case 2 : ... echo «Είναι εργάσιμη μέρα»; Διακοπή ; περίπτωση 6 : ... προεπιλογή : ... )

Switch(...)( case 1: case 2: ... echo "It's a work day"; break; case 6: ... default: ... )

Τριαδικός τελεστής PHP

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

κατάσταση? χειριστής1 : χειριστής2 ;

Γεια σας αγαπητοί αρχάριοι προγραμματιστές. Ας συνεχίσουμε να μελετάμε τα στοιχεία που απαρτίζουν.

Σε αυτό το άρθρο, θα μάθουμε τι είναι οι τελεστές php. Μάλιστα, μερικά από αυτά τα γνωρίζουμε σχεδόν από την παιδική ηλικία, αλλά τα γνωρίζουμε μόνο ως ζώδια (+, -, =, !, ?).

Στην php, ονομάζονται όλοι τελεστές, κάτι που είναι πολύ λογικό, αφού εκτελούν μια συγκεκριμένη ενέργεια ή λειτουργία.

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

Ας ξεκινήσουμε με τη σειρά.

Αριθμητικοί τελεστές

Οι αριθμητικοί τελεστές χρησιμοποιούνται για την εκτέλεση πράξεων σε αριθμούς.

+ είναι ο τελεστής πρόσθεσης.
— — τελεστής αφαίρεσης.
/ - χειριστής διαίρεσης.
* — τελεστής πολλαπλασιασμού.
% είναι ο χειριστής για τη λήψη του υπολοίπου κατά τη διαίρεση.
++ — τελεστής για αύξηση κατά ένα (αύξηση).
— — — μείωση κατά έναν χειριστή (μείωση)

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

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

ηχώ (6 + 7 ) * (7 + 8 ); // 195
?>

Κατά την εκτέλεση της ενέργειας διαίρεσης ενός ακέραιου με έναν ακέραιο, σε περίπτωση λήψης υπολοίπου, το αποτέλεσμα μετατρέπεται αυτόματα σε πραγματικό αριθμό (αριθμός κινητής υποδιαστολής).

ηχώ 8/3 ; //2.66666666666
?>

Ο αριθμός των ψηφίων που εκτυπώνονται για έναν κλασματικό αριθμό εξαρτάται από την τιμή που έχει οριστεί στην οδηγία ακριβείας που βρίσκεται στο αρχείο php.ini. Συνήθως πρόκειται για 12 χαρακτήρες χωρίς να υπολογίζεται η περίοδος.

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

echo 53328 % 4 ; //0
?>

Οι πράξεις με αριθμητικούς τελεστές, με εξαίρεση την αύξηση και τη μείωση, ονομάζονται δυάδικος, αφού περιλαμβάνουν δύο τελεστές (όρος + όρος, μέρισμα / διαιρέτης κ.λπ.)

Οι ενέργειες της αύξησης και της μείωσης ονομάζονται ενιαία, αφού περιλαμβάνουν έναν τελεστέα. Υπάρχει κάποιο άλλο λειτουργία υπό όρους, που περιλαμβάνει τρεις τελεστές.

Οι τελεστές αύξησης (++) και μείωσης (- -) ισχύουν μόνο για μεταβλητές.

Ακέραιος τύπος μεταβλητής (ακέραιοι αριθμοί)

$next = 3 ;
echo +$next; // 4
?>

Συμβολοσειρά μεταβλητού τύπου

$next = "abc";
echo $next; // abd
?>

Το γράμμα «d» εκτυπώνεται αντί για το γράμμα «γ» γιατί είναι επόμενο στο αλφάβητο και αυξήσαμε την τιμή της μεταβλητής κατά ένα.

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

Χειριστές bitwise

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

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

& - σύνδεση bitwise AND (και);
~ — bitwise negation (not);
| — bitwise union OR (ή);
^ — bitwise elimination OR (xor);
<< — сдвиг влево битового значения операнда;
>> — μετατόπιση προς τα δεξιά της τιμής bit του τελεστή.

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

Χειριστές σύγκρισης

Οι τελεστές σύγκρισης είναι λογικοί τελεστές και χρησιμοποιούνται για τη σύγκριση μεταβλητών. Πίνακες και αντικείμενα δεν μπορούν να συγκριθούν χρησιμοποιώντας τους.

> - χειριστής μεγαλύτερος από
=> - μεγαλύτερος ή ίσος τελεστής.
< — оператор меньше;
<= — оператор меньше или равно;
== — τελεστής ισότητας.
!= — τελεστής ανισότητας.
=== — τελεστής ισοδυναμίας (η τιμή και ο τύπος της μεταβλητής είναι ίσοι).
!== — τελεστής μη ισοδυναμίας.

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

ηχώ 1 > 0 ; // 1
ηχώ 1< 0 ; // пустая строка
ηχώ 1 => 0 ; // 1
ηχώ 1 == 1 ; // 1
?>

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

Δηλώσεις υπό όρους if, else, elseif.

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

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



εάν ($next< $nexT)
{
ηχώ "Πιθανότητα βροχόπτωσης"; // Έξοδος Πιθανή κατακρήμνιση
}
?>

$next = "Υγρασία αέρα 80%";
$nexT = "Υγρασία αέρα 90%";
εάν ($next > $next)
{
ηχώ "Πιθανότητα βροχόπτωσης"; // Εκτυπώστε μια κενή γραμμή
}
?>

Εάν το πρόγραμμα χρειάζεται να καθορίσει δύο ενέργειες, εκ των οποίων η μία θα εκτελεστεί εάν η τιμή είναι αληθής και η άλλη εάν η τιμή είναι ψευδής, τότε μαζί με την πρόταση if χρησιμοποιείται η εντολή else

$next = "Υγρασία αέρα 80%";
$nexT = "Υγρασία αέρα 90%";
εάν ($next > $next)
{
ηχώ "Πιθανότητα βροχόπτωσης";
}
αλλού
{
ηχώ "Δεν αναμένεται βροχόπτωση";
}
?>

Σε αυτήν την περίπτωση, θα εμφανιστεί η ένδειξη "Δεν αναμένεται βροχόπτωση" και εάν στην έκφραση αλλάξετε το σύμβολο "Περισσότερα" σε "Λιγότερο", τότε θα εμφανιστεί η ένδειξη "Η βροχόπτωση είναι δυνατή". Αυτός είναι ο τρόπος με τον οποίο οι τελεστές υπό όρους ελέγχουν μια συνθήκη και εξάγουν το σωστό αποτέλεσμα σύμφωνα με αυτήν.

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



εάν ($next > $next)
{
ηχώ "βλέπω"?
}
elseif ($next<= $nexT)
{
ηχώ "Χιόνι"?
}
elseif ($next >= $next)
{
ηχώ "Βροχή"?
}
elseif ($next == $next)
{
ηχώ "Ξηρασία"?
}
αλλού
{
ηχώ "Πιθανότητα βροχόπτωσης";
}
?>

Αυτό το πρόγραμμα θα παράγει "Snow". Εάν καμία από τις συνθήκες δεν ταιριάζει, θα εμφανιζόταν "Πιθανότητα βροχόπτωσης".

Μια δήλωση if μπορεί να περιέχει όσα μπλοκ elseif θέλετε, αλλά μόνο μια άλλη πρόταση.

Επιτρέπεται μια εναλλακτική επιλογή εγγραφής - χωρίς σγουρά σιδεράκια. Σε αυτήν την περίπτωση, οι γραμμές των εντολών if, else, elseif τελειώνουν με άνω και κάτω τελεία και ολόκληρη η κατασκευή τελειώνει με τη λέξη-κλειδί (τελεστής) endif.

$next = "Υγρασία αέρα 50%";
$nexT = "Υγρασία αέρα 60%";
εάν ($next<= $nexT):

ηχώ "Χιόνι"?

elseif ($next >= $next):

ηχώ "Βροχή"?

elseif ($next == $next):

ηχώ "Ξηρασία"?

αλλού:

ηχώ "Πιθανότητα βροχόπτωσης";
τέλος εαν ;
?>

Λογικοί τελεστές

Οι λογικοί τελεστές είναι παρόμοιοι με τους τελεστές bitwise. Η διαφορά μεταξύ τους είναι ότι οι πρώτες λειτουργούν με λογικές μεταβλητές και οι δεύτερες με αριθμούς.

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

&& - συνδετικός σύνδεσμος AND;
και - επίσης ΚΑΙ, αλλά με χαμηλότερη προτεραιότητα.
|| - διαχωριστικός σύνδεσμος OR;
ή - επίσης OR, αλλά με χαμηλότερη προτεραιότητα.
xor - αποκλειστικό OR;
! - άρνηση

Χαμηλότερη προτεραιότητα σημαίνει ότι εάν υπάρχουν και οι δύο τελεστές, εκτελείται πρώτος αυτός με την υψηλότερη προτεραιότητα.

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

Χειριστής ανάθεσης

Ο τελεστής εκχώρησης = εκχωρεί την τιμή του δεξιού τελεστή στον αριστερό τελεστή.

$next = "Γεια"
echo "Hello" // Γεια σου
?>

Τελεία χειριστή

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

$next = 22 ;
echo "Σήμερα μετά" .$next. "αναμένεται παγετός"? // Σήμερα μετά τις 22 αναμένεται παγετός
?>

Χειριστής παρενθέσεων

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

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

Χειριστής σγουρά τιράντες

Υπάρχουν τρεις τρόποι, ή ακόμα και στυλ, για να τοποθετήσετε σγουρά σιδεράκια στην PHP.

1. Στυλ BSD - οι αγκύλες είναι ευθυγραμμισμένες προς τα αριστερά.

εάν ($ επόμενο)
{

}

2. Στυλ GNU - οι αγκύλες είναι ευθυγραμμισμένες με εσοχή από την αριστερή άκρη

εάν ($ επόμενο)
{
echo "Γεια σας αγαπητοί αρχάριοι προγραμματιστές";
}

3. Στυλ K&R - η παρένθεση ανοίγει στη γραμμή χειριστή

αν ($next)(
echo "Γεια σας αγαπητοί αρχάριοι προγραμματιστές";
}

Από την αρχή, πρέπει να επιλέξετε ένα από τα στυλ και στο μέλλον, όταν γράφετε σενάρια, να χρησιμοποιείτε μόνο αυτό. Επιπλέον, δεν έχει καμία σημασία ποιο στυλ προτιμάτε. Είναι σημαντικό να είναι ομοιόμορφο σε όλο το πρόγραμμα.

Νομίζω ότι αρκεί προς το παρόν. Κατ 'αρχήν, όχι μόνο τα σημάδια, αλλά και οι συναρτήσεις και άλλα στοιχεία μπορούν να είναι τελεστές, επομένως είναι πολύ δύσκολο να τα απαριθμήσουμε όλα και δεν έχει νόημα.

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

Ένας Ιρλανδός περιπλανιέται στο αεροδρόμιο Σερεμέτιεβο δακρυσμένος. Ένας από τους υπαλλήλους αποφάσισε να συμπάσχει:
— Σου λείπει η πατρίδα σου;
- Καθόλου. Μόλις έχασα όλες τις αποσκευές μου
- Πώς θα μπορούσε να συμβεί αυτό;
- Δεν καταλαβαίνω τον εαυτό μου. Φαίνεται ότι έχω συνδέσει σωστά το φις

Έτσι, γνωρίζουμε ήδη πώς να εκτελούμε κώδικα που πληροί μια συγκεκριμένη συνθήκη. Αλλά μέχρι αυτή τη στιγμή θα μπορούσε να υπάρχει μόνο μία προϋπόθεση. Τι γίνεται αν ο κώδικας πρέπει να εκτελεστεί εάν πληρούνται πολλές προϋποθέσεις ταυτόχρονα;

Για την επίλυση αυτού του προβλήματος, υπάρχουν λογικοί τελεστές:

= 5 && $τιμή<= 10) echo "Это число находится между 5 и 10"; ?>

Ο τελεστής &&, καλείται επίσης λογικό ΚΑΙ, μετατρέπει τις τιμές αριστερά και δεξιά σε τύπο Boolean και, στη συνέχεια, επιστρέφει η ίδια μια Boolean τιμή: true αν τα αριστερά και τα δεξιά είναι true ή false αν μία από τις συνθήκες είναι false.

Με άλλα λόγια, εάν και οι δύο συνθήκες είναι αληθείς, τότε ο τελεστής && επιστρέφει true. Αυτό αντικατοπτρίζει το όνομα του χειριστή.

Χειριστής || ή λογικό Ήεπιστρέφει true όταν ισχύει τουλάχιστον μία από τις δύο συνθήκες:

5 || 1 > 2) echo "Η προϋπόθεση πληρούται."; ?>

Στον παραπάνω κώδικα, η εντολή echo θα εκτελεστεί επειδή μια από τις συνθήκες είναι αληθής.

Όλοι οι λογικοί τελεστές στην PHP

Μεταξύ των τελεστών && και και, καθώς και μεταξύ || και ή υπάρχει μια μικρή διαφορά - η σειρά εκτέλεσης.

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

Παράξενο, σωστά; Εφόσον το y = έχει υψηλότερη προτεραιότητα, η PHP θα ερμηνεύσει τον κώδικα ως εξής:

($var = true) και false;

Εκείνοι. πρώτα ορίζει το $var σε true και μετά κάνει μια πράξη true και false, η οποία δεν έχει νόημα γιατί δεν επηρεάζει την τιμή της μεταβλητής.

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

  • ++ -- ~ (int) (float) (string) (array) (object) (bool) @
  • * / %
  • + - .
  • < <= > >=
  • == != === !== <> <=>
  • ? : (τριαδικός τελεστής)
  • = += -= *= **= /= .= %= &= |= ^= <<= >>=

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


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

Αν (συνθήκη)(
πληρούται η προϋπόθεση, κάντε αυτό
}
αλλού
{
δεν πληρούται η προϋπόθεση, κάντε το διαφορετικά
}
Ελπίζω η λογική της λειτουργίας υπό όρους να είναι ξεκάθαρη. Τώρα ας δούμε ένα παράδειγμα.

$a = 5;
$b = 25;

// Τώρα προσοχή! Συνθήκη: Αν το $b είναι μεγαλύτερο από το $a
// Σημάδια > και< , как и в математике, обозначают больше и меньше
if($b > $a)
{
// εάν η συνθήκη πληρούται, τότε εκτελέστε αυτήν την ενέργεια
echo "$b είναι μεγαλύτερο από $a";
}
αλλού
{
// αν δεν εκτελεστεί, τότε αυτό
echo "$a είναι μεγαλύτερο ή ίσο με $b";
}
?>
Επίδειξη Λήψη πηγών
Ως αποτέλεσμα, θα βγει το σενάριο 25 περισσότερα από 5. Το παράδειγμα είναι αρκετά απλό. Ελπίζω να είναι όλα ξεκάθαρα. Τώρα προτείνω να εξετάσουμε μια πιο περίπλοκη κατάσταση, όπου πρέπει να πληρούνται αρκετές προϋποθέσεις. Κάθε νέα συνθήκη θα περιέχει μετά την κύρια συνθήκη αν()- βοηθητικό, το οποίο γράφεται ως αλλιώς αν (). Στο τέλος θα είναι ως συνήθως αλλού.

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

$test = 82; // ας πούμε ότι ένας μαθητής έγραψε ένα τεστ με 82 μονάδες

// γράψτε την πρώτη συνθήκη για πέντε
if ($test > 90)
{
// εάν η συνθήκη πληρούται, τότε εκτελέστε αυτήν την ενέργεια.
echo "Βαθμολογία 5";
}
// Το σύμβολο && σημαίνει "και, ένωση", ότι η προϋπόθεση πληρούται εάν και τα δύο είναι αληθή
// δηλαδή, η βαθμολογία είναι μικρότερη από 91 και πάνω από 80, μετά 4. Διαφορετικά, οι προϋποθέσεις διαβάζονται περαιτέρω
αλλιώς εάν ($test< 91 && $test > 80)
{
echo "Βαθμολογία 4";
}
αλλιώς εάν ($test< 81 && $test > 70)
{
echo "Βαθμολογία 3";
}
αλλού
{
echo "Θα πρέπει να ξαναγράψουμε το τεστ...";
}
?>
Επίδειξη Λήψη πηγών
Ο μαθητής μας που έχει χρόνο και να ξεκουραστεί και να γράψει ένα κανονικό τεστ λαμβάνει βαθμολογία 4! Ελπίζω η αρχή λειτουργίας να είναι ξεκάθαρη.

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

$ηλικία = 19; // μεταβλητή με την ηλικία

Εάν ($age > 17)(
echo "Αυτό είναι! Μπορώ να κάνω ό,τι θέλω! Είμαι ήδη $ηλικία!";
}
Πολύ ωραίο παράδειγμα μιας σύντομης σημειογραφίας μιας λειτουργίας υπό όρους. αλλούδεν είναι απαραίτητο να γράψω.

Σύγκριση χειριστών στην PHP

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

Παράδειγμα Αποτέλεσμα ονόματος
$a == $b Ισούται με αληθές αν το $a ισούται με $b
$a === $b Πανομοιότυπο με το True αν το $a είναι ίσο με $b και και οι δύο μεταβλητές είναι του ίδιου τύπου
$a != $b Δεν ισούται με True αν το $a δεν είναι ίσο με $b
$a === $b Δεν είναι πανομοιότυπο με το True αν το $a δεν είναι ίσο με το $b και οι δύο τύποι δεν είναι ίδιοι
$a > $b Μεγαλύτερο από το True αν το $a είναι μεγαλύτερο από το $b
$a< $b Меньше чем True, если $a меньше, чем $b
$a >= $b Μεγαλύτερο ή ίσο του True αν το $a είναι μεγαλύτερο ή ίσο του $b
$a<= $b Меньше или равно True, если $a меньше или равно $b
Τώρα ας δούμε τους χειριστές με παραδείγματα:

// αντίθετα με τη συνήθεια = σημαίνει εκχώρηση τιμής σε μια μεταβλητή και το == είναι ίσο
αν ($a == 5)(
ηχώ "$a είναι 5"; // θα εκτυπώσει "5 ίσον 5"
) άλλο (
echo "$a δεν ισούται με 5"?
}

Αν ($a != 6)(
echo "$a δεν ισούται με 6"? // θα εκτυπώσει "5 δεν είναι ίσο με 6". Απαραίτητο σε περίπτωση άρνησης
) άλλο (
echo "$a κατά κάποιο τρόπο ισούται με 6";
}

// με όλο και λιγότερο νομίζω ότι όλα είναι ξεκάθαρα. Επομένως το παράδειγμα είναι πιο περίπλοκο
εάν ($a<= 6){
echo "$a είναι μικρότερο ή ίσο με 6"; // θα εκτυπώσει "5 είναι μικρότερο ή ίσο με 6"
) άλλο (
echo "$a είναι μεγαλύτερο από 6";
}

Λογικοί τελεστές PHP

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

Παράδειγμα Αποτέλεσμα ονόματος
$a και $b Λογικό "και" TRUE αν και τα $a και $b είναι TRUE.
$a ή $b Λογικό "ή" TRUE εάν είτε το $a είτε το $b είναι TRUE.
$a xor $b Αποκλειστικό "ή" TRUE αν το $a ή το $b είναι ΑΛΗΘΗΣ, αλλά όχι και τα δύο.
! $a Άρνηση του TRUE εάν το $a δεν είναι TRUE.
$a && $b Λογικό "και" TRUE αν και τα $a και $b είναι ΑΛΗΘΕΣ.
$a || $b Boolean "ή" TRUE εάν είτε $a είτε $b είναι TRUE.
Το έχουμε ήδη παρατηρήσει για επεμβάσεις ΚαιΚαι ήυπάρχουν επιπλέον χειριστές; Αυτό γίνεται για να δοθεί προτεραιότητα σε πολύπλοκες λειτουργίες σύγκρισης. Στον πίνακα, οι λογικοί τελεστές παρατίθενται με σειρά προτεραιότητας: από το ελάχιστο προς το μεγαλύτερο, δηλαδή, για παράδειγμα, || έχει μεγαλύτερη προτεραιότητα από ή.

Ας προχωρήσουμε σε παραδείγματα

$a = 5;
$b = 6;
$c = 7;

// συνθήκη: Αν το 5 δεν είναι ίσο με 6 (TRUE) ΚΑΙ το 6 δεν είναι ίσο με 7 (TRUE)
εάν ($a< 6 && $b != $c){
ηχώ "Μάλιστα έτσι!". // θα εκτυπώσει "Μάλιστα έτσι!" επειδή ΚΑΙ ΟΙ ΔΥΟ όροι είναι ΑΛΗΘΙΝΟΙ
) άλλο (
echo "Μια από τις προϋποθέσεις δεν είναι αληθινή"?
}

// συνθήκη: Αν το 6 δεν είναι ίσο με 6 (ΛΑΘΟΣ) Ή το 6 δεν είναι ίσο με 7 (ΣΩΣΤΟ)
αν ($b != 6 || $b != $c)(
ηχώ "Αυτό είναι!". // θα εμφανίσει "Αυτό είναι!", επειδή Τουλάχιστον ΜΙΑ από τις προϋποθέσεις είναι ΑΛΗΘΕΙΑ
) άλλο (
echo "Και οι δύο συνθήκες είναι ψευδείς"?
}

Τριαδικός χειριστής

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

Η ουσία του κώδικα:(κατάσταση) ? η τιμή του a if true: η τιμή του a if false

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

// Παράδειγμα χρήσης του τριαδικού τελεστή
$settings = (κενό($_POST["ρυθμίσεις"])) ? "Προεπιλογή" : $_POST["ρυθμίσεις"];

// Ο παραπάνω κώδικας είναι παρόμοιος με το παρακάτω μπλοκ χρησιμοποιώντας το if/else
if (κενό($_POST["ρυθμίσεις"])) (
$settings = "Προεπιλογή"; // Εάν δεν μεταφερθεί τίποτα, αφήστε το ως "Προεπιλογή"
) άλλο (
$settings = $_POST["ρυθμίσεις"]; // Αν περάσει, τότε η τιμή που πέρασε εκχωρείται στα $settings.
}
?>
Διαβάστε τα σχόλια στον κώδικα και όλα θα πρέπει να είναι ξεκάθαρα.

Σας ευχαριστώ για την προσοχή σας!


Τελευταία ενημέρωση: 1/11/2015

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

Αριθμητικές πράξεις

    + (λειτουργία προσθήκης)

    Για παράδειγμα, $a + 5

    - (πράξη αφαίρεσης)

    Για παράδειγμα, $a - 5

    * (Πολλαπλασιασμός)

    Για παράδειγμα, $a * 5

    / (διαίρεση)

    Για παράδειγμα, $a / 5

    % (λήψη του υπολοίπου της διαίρεσης)

    Για παράδειγμα: $a=12; echo $a % 5; // ισούται με 2

    ++ (αύξηση/αύξηση τιμής κατά ένα)

    Για παράδειγμα, ++$a

    Είναι σημαντικό να κατανοήσετε τη διαφορά μεταξύ των εκφράσεων ++$a και $a++ . Για παράδειγμα:

    $a=12; $b=++$a; // $b ισούται με 13 echo $b;

    Εδώ, πρώτα, προστίθεται ένα στην τιμή της μεταβλητής $a και στη συνέχεια η τιμή του εξισώνεται με τη μεταβλητή $b. Θα ήταν διαφορετικό αν η έκφραση ήταν έτσι: $b=$a++; . Εδώ, πρώτα η τιμή της μεταβλητής $a ήταν ίση με τη μεταβλητή $b και στη συνέχεια η τιμή της μεταβλητής $a αυξήθηκε.

    -- (μείωση/μείωση τιμής κατά ένα)

    Για παράδειγμα, --$a . Και επίσης, όπως στην περίπτωση της αύξησης, υπάρχουν δύο τύποι εγγραφής: --$a και $a--

Χειριστές ανάθεσης

    Εξισώνει μια μεταβλητή με μια συγκεκριμένη τιμή: $a = 5

    Προσθήκη ακολουθούμενη από εκχώρηση του αποτελέσματος. Για παράδειγμα: $a=12; $a += 5; ηχώ $a; // ίσο με 17

    Αφαίρεση ακολουθούμενη από εκχώρηση του αποτελέσματος. Για παράδειγμα: $a=12; $a -= 5; ηχώ $a; // ισούται με 7

    Πολλαπλασιασμός ακολουθούμενος από εκχώρηση του αποτελέσματος: $a=12; $a *= 5; ηχώ $a; // ισούται με 60

    Διαίρεση ακολουθούμενη από εκχώρηση του αποτελέσματος: $a=12; $a /= 5; ηχώ $a; // ίσο με 2,4

    Συνδέστε σειρές και αντιστοιχίστε το αποτέλεσμα. Ισχύει για δύο γραμμές. Εάν οι μεταβλητές δεν αποθηκεύουν συμβολοσειρές, αλλά, για παράδειγμα, αριθμούς, τότε οι τιμές τους μετατρέπονται σε συμβολοσειρές και στη συνέχεια εκτελείται η λειτουργία: $a=12; $a .= 5; ηχώ $a; // ίσο με 125 // πανομοιότυπο με το $b="12"; $b .="5"; // ίσο με 125

    Λήψη του υπολοίπου της διαίρεσης και μετά εκχώρηση του αποτελέσματος: $a=12; $a %= 5; ηχώ $a; // ισούται με 2

Λειτουργίες σύγκρισης

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

    Ο τελεστής ισότητας συγκρίνει δύο τιμές και αν είναι ίσες, επιστρέφει true, διαφορετικά επιστρέφει false: $a == 5

    Ο τελεστής ταυτότητας συγκρίνει επίσης δύο τιμές και αν είναι ίσες, επιστρέφει true, διαφορετικά επιστρέφει false: $a === 5

    Συγκρίνει δύο τιμές και αν δεν είναι ίσες, επιστρέφει true, διαφορετικά επιστρέφει false: $a != 5

    Συγκρίνει δύο τιμές και αν δεν είναι ίσες, επιστρέφει true, διαφορετικά επιστρέφει false: $a !== 5

    Συγκρίνει δύο τιμές και αν η πρώτη είναι μεγαλύτερη από τη δεύτερη, τότε επιστρέφει true, διαφορετικά επιστρέφει false: $a > 5

    Συγκρίνει δύο τιμές και αν η πρώτη είναι μικρότερη από τη δεύτερη, τότε επιστρέφει true, διαφορετικά επιστρέφει false: $a< 5

    Συγκρίνει δύο τιμές και αν η πρώτη είναι μεγαλύτερη ή ίση με τη δεύτερη, τότε επιστρέφει true, διαφορετικά επιστρέφει false: $a >= 5

    Συγκρίνει δύο τιμές και αν η πρώτη είναι μικρότερη ή ίση με τη δεύτερη, τότε επιστρέφει true, διαφορετικά επιστρέφει false: $a<= 5

Χειριστής ισότητας και ταυτότητας

Και οι δύο τελεστές συγκρίνουν δύο παραστάσεις και επιστρέφουν true αν οι εκφράσεις είναι ίσες. Υπάρχουν όμως διαφορές μεταξύ τους. Εάν η πράξη ισότητας παίρνει δύο τιμές διαφορετικών τύπων, τότε μειώνονται σε μία - αυτή που ο διερμηνέας βρίσκει τη βέλτιστη. Για παράδειγμα:

Προφανώς, οι μεταβλητές αποθηκεύουν διαφορετικές τιμές διαφορετικών τύπων. Αλλά όταν συγκρίνονται, θα μειωθούν στον ίδιο τύπο - αριθμητικό. Και η μεταβλητή $a θα μειωθεί στον αριθμό 22. Και στο τέλος, και οι δύο μεταβλητές θα είναι ίσες.

Ή, για παράδειγμα, οι ακόλουθες μεταβλητές θα είναι επίσης ίσες:

$a = ψευδής; $b = 0;

Για να αποφευχθούν τέτοιες καταστάσεις, χρησιμοποιείται η πράξη ισοδυναμίας, η οποία λαμβάνει υπόψη όχι μόνο την τιμή, αλλά και τον τύπο της μεταβλητής:

$a = "22a"; $b = 22; if($a===$b) echo "equal"; αλλιώς ηχώ "όχι ίσο"?

Τώρα οι μεταβλητές δεν θα είναι ίσες.

Οι τελεστές ανισότητας != και !== λειτουργούν παρόμοια.

Λογικές πράξεις

Οι λογικές πράξεις χρησιμοποιούνται συνήθως για να συνδυάσουν τα αποτελέσματα δύο πράξεων σύγκρισης. Για παράδειγμα, πρέπει να εκτελέσουμε μια συγκεκριμένη ενέργεια εάν ισχύουν πολλές συνθήκες. Οι ακόλουθες λογικές πράξεις είναι διαθέσιμες:

    Επιστρέφει true αν και οι δύο πράξεις σύγκρισης επιστρέψουν true, διαφορετικά επιστρέφει false: $a == 5 && $b = 6

    Παρόμοια με τη λειτουργία &&: $a == 5 και $b > 6

    Επιστρέφει true εάν τουλάχιστον μία πράξη σύγκρισης επιστρέψει true, διαφορετικά επιστρέφει false: $a == 5 || $b = 6

    Παρόμοια με τη λειτουργία || : $a< 5 or $b > 6

    Επιστρέφει true εάν η λειτουργία σύγκρισης επιστρέψει false: !($a >= 5)

    Επιστρέφει true εάν μόνο μία από τις τιμές είναι αληθής. Εάν και τα δύο είναι αληθή ή κανένα δεν είναι αληθές, επιστρέφει ψευδές. Για παράδειγμα: $a=12; $b=6; if($a xor $b) echo "true"; Αλλιώς ηχώ "ψεύτικο"?

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

    $a=12; $b=NULL; if($a xor $b) echo "true"; Αλλιώς ηχώ "ψεύτικο"?

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

Λειτουργίες bit

Οι λειτουργίες bit εκτελούνται σε μεμονωμένα bit ενός αριθμού. Οι αριθμοί λαμβάνονται υπόψη στη δυαδική αναπαράσταση, για παράδειγμα, το 2 στη δυαδική αναπαράσταση είναι 010, ο αριθμός 7 είναι 111.

    & (λογικός πολλαπλασιασμός)

    Ο πολλαπλασιασμός εκτελείται κατά bit και αν και οι δύο τελεστές έχουν τιμές bit ίσες με 1, τότε η πράξη επιστρέφει 1, διαφορετικά επιστρέφεται ο αριθμός 0. Για παράδειγμα: $a1 = 4; //100 $b1 = 5; //101 echo $a1 & $b1; // ισούται με 4

    Εδώ ο αριθμός 4 στο δυαδικό σύστημα είναι 100 και ο αριθμός 5 είναι 101. Πολλαπλασιάστε τους αριθμούς λίγο-δυαδικό και λάβετε (1*1, 0*0, 0 *1) = 100, δηλαδή τον αριθμό 4 σε δεκαδικό μορφή.

    | (λογική προσθήκη)

    Παρόμοια με τον λογικό πολλαπλασιασμό, η πράξη εκτελείται επίσης σε δυαδικά ψηφία, αλλά τώρα επιστρέφεται ένα εάν τουλάχιστον ένας αριθμός σε ένα δεδομένο ψηφίο έχει ένα. Για παράδειγμα: $a1 = 4; //100 $b1 = 5; //101 echo $a1 | $b1; // ισούται με 5

    ~ (λογική άρνηση)

    αντιστρέφει όλα τα bit: αν η τιμή του bit είναι 1, τότε γίνεται μηδέν και αντίστροφα. $b = 5; ηχώ ~$b;

    Χ<

    x>>y - μετατοπίζει τον αριθμό x προς τα δεξιά κατά y ψηφία. Για παράδειγμα, το 16>>1 μετατοπίζει το 16 (που είναι 10000 σε δυαδικό σύστημα) μία θέση προς τα δεξιά, με αποτέλεσμα το 1000 ή το 8 σε δεκαδικό

Συνδεόμενες χορδές

Ο τελεστής τελείας χρησιμοποιείται για τη σύνδεση συμβολοσειρών. Για παράδειγμα, ας συνδέσουμε πολλές γραμμές:

$a="Γεια σας,"; $b=" κόσμος"; ηχώ $a . $b . "!"

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



 

Ίσως είναι χρήσιμο να διαβάσετε: