Maison  >  Article  >  développement back-end  >  Que dois-je faire s'il demande une conversion de tableau en chaîne lors de l'exécution de code php ?

Que dois-je faire s'il demande une conversion de tableau en chaîne lors de l'exécution de code php ?

王林
王林avant
2021-03-08 17:12:137965parcourir

Que dois-je faire s'il demande une conversion de tableau en chaîne lors de l'exécution de code php ?

Avant-propos :

L'erreur de conversion de tableau en chaîne se produit car lorsque nous écrivons le script php, nous utilisons le tableau comme une chaîne.

Alors dans quelles circonstances une telle erreur se produirait-elle ?

Scénario 1 :

Ce genre de scénario est relativement rare. La plupart d'entre eux sont réalisés par des novices, et il est facile de trouver et de résoudre les erreurs. Cela signifie littéralement utiliser le tableau comme chaîne.
Exemple :

$arr = array(0, 1, 2);

//错误1,双引号可以解析变量,但是双引号中,就会认为它是字符串。
var_dump("$arr");
//错误2
echo $arr;

Dans ce cas, le résultat sera renvoyé :

PHP Notice: Array to string conversion in /path/test.php on line 5
Array

La solution est de convertir le tableau en chaîne puis de l'utiliser : par exemple, utilisez json_encode( $arr);

(Partage vidéo d'apprentissage : Tutoriel vidéo php)

Scénario 2 :

Ce genre de scénario est également relativement rare, et il est difficile de comprendre simplement en regardant l'invite Conversion de tableau en chaîne. Quelque chose s'est mal passé.

Lorsque nous utilisons curl et transmettons les paramètres via post, lorsque le paramètre est un tableau bidimensionnel, cette erreur sera signalée, ce qui est très magique.

Exemple :

$data = array([0], [1], [3]);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);

//报错行
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

$result = curl_exec($ch);

La solution à ce problème est également très simple

Utilisez simplement http_build_query() pour traiter les paramètres. Il est recommandé que lors de l'utilisation de curl, tous les paramètres soient traités avec http_build_query.

curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));

Recommandations associées : Tutoriel d'introduction à php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer