Βελτιστοποίηση μέσω των ενσωματωμένων συναρτήσεων στην PHP
Ας υποθέσουμε ότι κάποιος προγραμματιστής ελέγχει αν
υπάρχει στον πίνακα ο αριθμός 5:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$exists = false;
foreach ($arr as $elem) {
if ($elem == 5) {
$exists = true;
break; // βγαίνουμε από το βρόγχο, για να μην εκτελεστεί περιττά
}
}
var_dump($exists);
?>
Ισχυρίζομαι ότι κάτι δεν πάει καλά με αυτόν τον κώδικα. Τι ακριβώς δεν πάει καλά, αφού βγαίνουμε από το βρόγχο αφού βρήκαμε τον αριθμό 3; Το θέμα είναι, ότι οι ενσωματωμένες συναρτήσεις της PHP λειτουργούν πάντα ταχύτερα από τον αντίστοιχο κώδικα που γράφουμε εμείς.
Στη δική μας περίπτωση υπάρχει η συνάρτηση in_array,
που λύνει το συγκεκριμένο πρόβλημα, - και πρέπει
να χρησιμοποιούμε ακριβώς αυτή τη συνάρτηση:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var_dump(in_array(3, $arr));
?>
Το ηθικό δίδαγμα: πριν λύσετε ένα πρόβλημα, φροντίστε πάντα να ελέγχετε αν υπάρχει ενσωματωμένη συνάρτηση της PHP για τη λύση του.
Στον επόμενο κώδικα, κάποιος προγραμματιστής βρίσκει το άθροισμα των στοιχείων ενός πίνακα. Βελτιστοποιήστε τη λύση αυτού του προγραμματιστή.
Εδώ είναι ο κώδικας:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$sum = 0;
foreach ($arr as $elem) {
$sum += $elem;
}
echo $sum;
?>
Στον επόμενο κώδικα, κάποιος προγραμματιστής βρίσκει το γινόμενο των στοιχείων ενός πίνακα. Βελτιστοποιήστε τη λύση αυτού του προγραμματιστή:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$res = 1;
foreach ($arr as $elem) {
$res *= $elem;
}
echo $res;
?>