Έξυπνες αναζητήσεις
Το googling είναι μια από τις πιο σημαντικές δεξιότητες για κάθε προγραμματιστή. Ας δούμε πώς κάνουμε εξειδικευμ...
Το googling είναι μια από τις πιο σημαντικές δεξιότητες για κάθε προγραμματιστή. Ας δούμε πώς κάνουμε εξειδικευμ...
Στη JavaScript, οι χρονικές σημάνσεις συνήθως συσχετίζονται με την ώρα Unix. Και υπάρχουν διαφορετικές μέθοδοι για τ...
Αλληλεπιδρούμε πολύ με το HTTP και το HTTPS στην καθημερινή μας ζωή, αλλά πολλοί από εμάς δεν γνωρί...
An absolute path refers to defining the full exact file path, for example, D:\http\project\lib\file.php. While a relative path is based on the current working directory, where the script is located. ...
What Is a PHP Interface? A PHP interface defines a contract which a class must fulfill. If a PHP class is a blueprint for objects, an interface is a blueprint for classes. Any class implementing a ...
function multiple_returns($a, $b) {
$x = 2*$a;
$y = 3*$b;
return $x;
if($y%3 == 0) {
echo "Y is: ".$y;
}
return $y;
}
$m = 0;
$n = 0;
$m = multiple_returns(5, 18);
// list($m, $n) = multiple_returns(5, 18);
// Outputs: Values are: 10 and 0
echo "Values are: ".$m." and ".$n;
?>
Σημειώστε ότι η εκτέλεση του παραπάνω κώδικα δεν επαναλαμβάνει τη δήλωση σχετικά με την τιμή του $y. Αυτό συμβαίνει επειδή η συνάρτηση σταματά την εκτέλεση μετά την πρώτη δήλωση επιστροφής. Εάν καταργήσετε το σχολιασμό της γραμμής όπου χρησιμοποιούμε list()για την εκχώρηση τιμών μεταβλητών, και το $m και το $n θα είναι NULL επειδή η list() λειτουργεί μόνο με πίνακες και η συνάρτηση επιστρέφει μόνο έναν αριθμό.
function multiple_returns($a, $b) {
$x = 2*$a;
$y = 3*$b;
return [$x, $y];
}
list($m, $n) = multiple_returns(5, 18);
// Outputs: Values are: 10 and 54
echo "Values are: ".$m." and ".$n;
?>
Από την άποψη της PHP, εξακολουθείτε να επιστρέφετε μια μεμονωμένη τιμή, αλλά αυτή η μοναδική τιμή είναι ένας πίνακας που μπορεί να περιέχει πολλές άλλες τιμές. Αυτός είναι ένας από τους ευκολότερους τρόπους στην PHP για την προσομοίωση της επιστροφής πολλαπλών τιμών από μια συνάρτηση. Επιστρέφουμε μόνο δύο τιμές στο παραπάνω παράδειγμα. Ωστόσο, τα πράγματα μπορεί να γίνουν λίγο δύσκολα όταν εμπλέκονται περισσότερες τιμές, επειδή πρέπει να έχετε κατά νου τη σωστή σειρά των τιμών που επιστρέφονται.
function multiple_returns($a, $b) {
$x = 2*$a;
$y = 3*$b;
return ['m' => $x, 'n' => $y];
}
list('m' => $m, 'n' => $n) = multiple_returns(5, 18);
// Values are: 10 and 54
echo "Values are: ".$m." and ".$n;
list('n' => $n, 'm' => $m) = multiple_returns(5, 18);
// Values are: 10 and 54
echo "Values are: ".$m." and ".$n;
?>
Μπορείτε να δείτε ότι οι μεταβλητές $m, $n παίρνουν τις ίδιες τιμές και στις δύο περιπτώσεις, επειδή οι τιμές εκχωρούνται πλέον με βάση κλειδιά αντί για τους αριθμητικούς δείκτες.
function multiple_returns($a, $b) {
$x = 2*$a;
$y = 3*$b;
return ['m' => $x, 'n' => $y];
}
['m' => $m, 'n' => $n] = multiple_returns(5, 18);
// Values are: 10 and 54
echo "Values are: ".$m." and ".$n;
['n' => $n, 'm' => $m] = multiple_returns(5, 18);
// Values are: 10 and 54
echo "Values are: ".$m." and ".$n;
?>
Εγγραφείτε για να βλέπετε τα εξειδικευμένα άρθρα.