Dans les fonctions de bibliothèque standard de PHP, Array_Fill () est un outil petit mais très pratique. Au cours des entretiens, les candidats sont souvent examinés s'ils connaissent cette fonction apparemment simple mais ingénieuse. La compréhension et la maîtrise de l'utilisation de Array_Fill () peuvent non seulement améliorer l'efficacité du développement réel, mais également démontrer votre compétence dans le traitement des tableaux dans les entretiens.
array_fill () est utilisé pour remplir un tableau avec la valeur spécifiée. Le prototype de fonction est le suivant:
array array_fill ( int $start_index , int $count , mixed $value )
$ start_index : index de démarrage
$ Count : Nombre d'éléments
$ Valeur : la valeur utilisée pour le remplissage
Exemple:
$array = array_fill(0, 5, 'PHP');
print_r($array);
Sortir:
Array
(
[0] => PHP
[1] => PHP
[2] => PHP
[3] => PHP
[4] => PHP
)
Cette fonction est très pratique lorsque vous devez créer rapidement un tableau avec des valeurs par défaut.
Par exemple, vous souhaitez initialiser un ensemble de tableaux booléens avec un état de faux :
$status = array_fill(0, 10, false);
Convient pour les tâches d'initialisation telles que: l'état de vote des utilisateurs, la vérification de l'autorisation, l'état de réponse aux questions, etc.
Parfois, nous traitons des données externes, certaines valeurs de champ sont manquantes, mais nous voulons maintenir un format de données unifié. Pour le moment, vous pouvez utiliser array_fill () pour occuper l'endroit.
$placeholders = array_fill(0, 3, 'N/A');
Cette écriture est très courante lors de l'exportation des CSV ou de la construction d'un tableau de données unifié.
Supposons qu'un questionnaire ait 5 questions et que la valeur par défaut pour chaque question est de 0 points, vous pouvez l'écrire comme ceci:
$scores = array_fill(1, 5, 0); // Du numéro de titre 1 commencer
Array_fill () combiné avec d'autres fonctions de tableau peut implémenter une logique plus complexe.
Joint avec array_combine () :
Si vous avez un ensemble de noms de champ, vous souhaitez attribuer une valeur par défaut à chaque champ:
$fields = ['name', 'email', 'phone'];
$defaults = array_fill(0, count($fields), '');
$data = array_combine($fields, $defaults);
Sortir:
Array
(
[name] =>
[email] =>
[phone] =>
)
C'est un excellent moyen de gérer les valeurs par défaut de formulaire, le formatage du champ d'interface.
Array_Fill () permet une indexation négative, ce qui est utile dans une logique spécifique mais nécessite une manipulation minutieuse.
$negArray = array_fill(-3, 3, 'X');
Sortir:
Array
(
[-3] => X
[-2] => X
[-1] => X
)
Au cours de l'entretien, l'intervieweur peut poser des questions comme ceci:
Utilisez array_fill () pour générer rapidement un tableau avec des index allant de 1 à 100 et des valeurs initiales de 0, nécessitant que la clé du tableau final soit un entier continu.
Répondre:
$data = array_fill(1, 100, 0);
Les exigences avancées peuvent être: mappez toutes les clés en formats de chaîne, tels que 'item_1' vers 'item_100' .
$keys = array_map(fn($n) => "item_$n", range(1, 100));
$values = array_fill(0, 100, 0);
$result = array_combine($keys, $values);
Supposons que nous souhaitions créer une interface post-post et soumettre un tableau de 10 informations par défaut de l'utilisateur à https://api.m66.net/data , chaque format de données utilisateur est:
[
'name' => '',
'email' => '',
'status' => 'inactive'
]
Nous pouvons écrire de cette façon:
$defaultUser = [
'name' => '',
'email' => '',
'status' => 'inactive'
];
$users = array_fill(0, 10, $defaultUser);
$payload = json_encode(['users' => $users]);
$ch = curl_init('https://api.m66.net/data');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
$response = curl_exec($ch);
curl_close($ch);
Ce code montre comment array_fill () peut simplifier le processus de création de données structurées dans des scénarios commerciaux réels.
La maîtrise de l'utilisation de array_fill () peut rendre votre code plus concis et intuitif. Bien que ce ne soit pas compliqué, il cache souvent "les points de test de l'intervieweur". La prochaine fois que vous rencontrerez un besoin d'initialisation et de remplissage de valeur par défaut, n'oubliez pas son existence. Utiliser Array_Fill () Gracely n'est pas seulement un plus au niveau du code, mais aussi un point culminant des détails qui se démarquent dans l'entretien.