Position actuelle: Accueil> Derniers articles> Comment utiliser array_slice lors de la gestion des tableaux de décodage JSON

Comment utiliser array_slice lors de la gestion des tableaux de décodage JSON

gitbox 2025-05-29

1. Qu'est-ce que Array_slice ?

Array_slice est une fonction de tableau intégrée en PHP, utilisé pour extraire un sous-tableau d'un tableau, similaire à l'interception de certains éléments dans un tableau. La signature de la fonction est la suivante:

 array array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false)
  • $ Array : Le tableau à intercepter.

  • $ Offset : la position pour commencer à intercepter, prend en charge les nombres négatifs pour indiquer le comptage à partir de la fin du tableau.

  • $ Longueur : la longueur interceptée, si elle est omise, elle sera interceptée à la fin du tableau.

  • $ Preserve_keys : s'il faut conserver le nom de clé du tableau d'origine, la valeur par défaut est fausse , c'est-à-dire réinitialiser l'index.


2. Combinaison JSON_DECODE et Array_Slice pour traiter les tableaux JSON

Supposons qu'il existe une interface qui renvoie une grande quantité de données JSON, et nous voulons seulement prendre certaines des données pour le traitement de la page ou du morceau. L'exemple de code est le suivant:

 <?php
$jsonData = file_get_contents('https://gitbox.net/api/data.json');
$arrayData = json_decode($jsonData, true);

if (json_last_error() !== JSON_ERROR_NONE) {
    die('JSON Le décodage a échoué: ' . json_last_error_msg());
}

// Supposons que nous voulons prendre le 11 Arriver 20 Données(C&#39;est-à-dire de l&#39;index10commencer,Prendre10bande)
$partialData = array_slice($arrayData, 10, 10);

// Résultat de sortie,Facile à visualiser
echo '<pre>';
print_r($partialData);
echo '</pre>';
?>

Ici, nous utilisons d'abord File_get_Contents pour obtenir la chaîne JSON à partir de https://gitbox.net/api/data.json , puis la décochez dans un tableau, puis utilisez array_slice pour intercepter les données dans l'intervalle spécifié.


3. Utilisez des scénarios

  • Affichage de la pagination : l'interface d'arrière-plan renvoie une grande quantité de données, et seules les données correspondant à la page actuelle sont transmises ou traitées via array_slice .

  • Économisez des ressources : évitez de traiter trop de données à la fois et réduisez l'utilisation de la mémoire.

  • Traitement local : par exemple, lorsque l'analyse du journal et l'exportation de données, seuls les tableaux partiels sont traités.


4. Choses à noter

  • Lorsque vous utilisez JSON_DECODE , le deuxième paramètre est défini sur true , garantissant que le tableau est obtenu au lieu de l'objet, ce qui rend pratique l'appel Array_slice .

  • Si le nom de la clé du tableau est important, vous pouvez définir le quatrième paramètre $ Preserve_keys sur true .

  • Assurez-vous de vérifier si JSON est décodé avec succès avant le traitement pour éviter les erreurs provoquant un crash du programme.


5. Exemples complets

 <?php
$jsonUrl = 'https://gitbox.net/api/data.json';

$jsonStr = file_get_contents($jsonUrl);
$dataArray = json_decode($jsonStr, true);

if (json_last_error() !== JSON_ERROR_NONE) {
    echo "Erreur de décodage: " . json_last_error_msg();
    exit;
}

$page = 2;
$pageSize = 10;
$offset = ($page - 1) * $pageSize;

$pageData = array_slice($dataArray, $offset, $pageSize, true);

echo '<h2>1 et 1 ' . $page . ' Données de page:</h2>';
echo '<pre>' . print_r($pageData, true) . '</pre>';
?>

Cet exemple simule la fonction de pagination et traite de manière flexible une partie des données du tableau JSON.