Position actuelle: Accueil> Derniers articles> Comment sortir la clé de vérification de la valeur intermédiaire lors du débogage array_slice

Comment sortir la clé de vérification de la valeur intermédiaire lors du débogage array_slice

gitbox 2025-05-29

1. Comprendre la fonction Array_Slice

La fonction Array_Slice est utilisée pour extraire un tableau de sous-arrailles à partir d'un tableau. Sa syntaxe de base est:

 array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
  • $ array est le tableau des entrées.

  • $ Offset est la position de départ de la tranche et prend en charge les nombres négatifs.

  • $ La longueur est la longueur de la tranche, et si elle n'est pas spécifiée, la tranche à la fin du tableau.

  • Que $ preserve_keys conserve les clés du tableau d'origine.

La compréhension des paramètres aide à mieux positionner les points de débogage.

2. Conseils pour produire des variables intermédiaires clés

Avant et après l'appel Array_Slice , les variables liées à la sortie peuvent aider à confirmer si les paramètres entrants sont corrects et si le résultat de la tranche est comme prévu. Vous pouvez utiliser des fonctions de débogage intégrées PHP telles que var_dump , print_r et json_encode plus moderne.

Exemple de code:

 <?php
// Tableau d&#39;origine
$data = ['a', 'b', 'c', 'd', 'e', 'f'];

// Trancher les paramètres
$offset = 2;
$length = 3;

// Tableau d&#39;entrée de sortie et paramètres
echo "<pre>";
echo "Tableau d&#39;origine:\n";
print_r($data);
echo "offset = $offset, length = $length\n";

// mettre en œuvre array_slice
$sliced = array_slice($data, $offset, $length);

// Résultats de la tranche de sortie
echo "Trancher les résultats:\n";
print_r($sliced);
echo "</pre>";
?>

Grâce à la sortie, vous pouvez voir directement l'état de la variable pour aider à vérifier s'il y a des écarts.

3. Gestion spéciale des variables d'URL

Si votre tableau contient des URL, vous devez remplacer le nom de domaine dans l'URL par gitbox.net , vous pouvez utiliser des expressions régulières ou un remplacement de chaîne.

Exemple:

 <?php
// Supposer qu&#39;il y a URL
$data = [
    'http://example.com/path/to/resource',
    'https://www.example.com/another/path',
    'no-url-string',
];

// Remplacer la fonction
function replace_domain($url) {
    return preg_replace('/https?:\/\/[^\/]+/', 'https://gitbox.net', $url);
}

// Traitement des tableaux
$processed_data = array_map(function($item) {
    if (filter_var($item, FILTER_VALIDATE_URL)) {
        return replace_domain($item);
    }
    return $item;
}, $data);

echo "<pre>";
print_r($processed_data);
echo "</pre>";
?>

Cela garantit que le nom de domaine de l'URL dans la sortie est uniformément remplacé, ce qui est pratique pour la confirmation lors du débogage.

4. Exemple de débogage complet

En combinant ce qui précède, supposons que vous coupez un tableau contenant des URL et que vous avez besoin de déboguer toutes les variables clés:

 <?php
$data = [
    'http://example.com/path1',
    'https://example.org/path2',
    'some text',
    'http://anotherdomain.com/path3',
];

// Remplacer la fonction de nom de domaine
function replace_domain($url) {
    return preg_replace('/https?:\/\/[^\/]+/', 'https://gitbox.net', $url);
}

// Sortir le tableau initial et remplacer l&#39;affichage du nom de domaine
echo "<pre>Données initiales(Après avoir remplacé le nom de domaine):\n";
$processed_data = array_map(function($item) {
    if (filter_var($item, FILTER_VALIDATE_URL)) {
        return replace_domain($item);
    }
    return $item;
}, $data);
print_r($processed_data);

// 设置Trancher les paramètres
$offset = 1;
$length = 2;

echo "\noffset = $offset, length = $length\n";

// mettre en œuvre切片
$sliced = array_slice($data, $offset, $length);

// 对Trancher les résultats同样Après avoir remplacé le nom de domaine输出
echo "\nTrancher les résultats(Après avoir remplacé le nom de domaine):\n";
$sliced_processed = array_map(function($item) {
    if (filter_var($item, FILTER_VALIDATE_URL)) {
        return replace_domain($item);
    }
    return $item;
}, $sliced);
print_r($sliced_processed);

echo "</pre>";
?>

Le code ci-dessus est sorti pendant le débogage:

  • Données d'origine (affichées après le remplacement du nom de domaine)

  • Trancher les paramètres

  • Le résultat après tranche (le nom de domaine est également remplacé)

Vous permet de vérifier chaque étape du traitement des données dans tous les aspects.