Συνάρτηση arrayval
Στην τυπική βιβλιοθήκη της PHP δεν υπάρχει συνάρτηση arrayval, αλλά μπορείτε να υλοποιήσετε παρόμοια λειτουργικότητα μόνοι σας. Παρακάτω παρουσιάζεται ένα παράδειγμα υλοποίησης που μετατρέπει οποιαδήποτε τιμή σε πίνακα: εάν η τιμή είναι ήδη πίνακας, επιστρέφεται χωρίς αλλαγές, για άλλους τύπους δημιουργείται ένας πίνακας με ένα στοιχείο.
Υλοποίηση της συνάρτησης
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
?>
Παράδειγμα χρήσης
Ας μετατρέψουμε μια συμβολοσειρά σε πίνακα χρησιμοποιώντας τη συνάρτησή μας:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval('abcde');
print_r($res);
?>
Αποτέλεσμα εκτέλεσης του κώδικα:
['abcde']
Παράδειγμα χρήσης
Ας δοκιμάσουμε να μετατρέψουμε έναν αριθμό:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval(123);
print_r($res);
?>
Αποτέλεσμα εκτέλεσης του κώδικα:
[123]
Παράδειγμα χρήσης
Ας ελέγξουμε τη λειτουργία με πίνακα:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval([1, 2, 3]);
print_r($res);
?>
Αποτέλεσμα εκτέλεσης του κώδικα:
[1, 2, 3]
Εναλλακτικές λύσεις
Στη PHP υπάρχουν άλλοι τρόποι μετατροπής σε πίνακα:
<?php
// Χρήση (array) για μετατροπή τύπου
$array = (array)'string';
print_r($array); // ['string']
// Για αντικείμενα η μετατροπή τύπου λειτουργεί διαφορετικά
$obj = new stdClass();
$obj->prop = 'value';
$array = (array)$obj;
print_r($array); // ['prop' => 'value']
?>