PHP에서 JSON 배열을 문자열로 변환하는 방법

PHPz
풀어 주다: 2023-04-20 14:43:50
원래의
744명이 탐색했습니다.

PHP 프로그래밍에서는 JSON 형식의 데이터가 자주 사용되며 JSON 배열을 문자열로 변환하는 것이 일반적인 문제입니다. 아래에서는 PHP에서 JSON 배열을 문자열로 변환하는 방법을 소개합니다.

PHP는 PHP 배열을 JSON 형식 문자열로 변환할 수 있는 매우 편리한 함수 json_encode()를 제공합니다. 그러나 PHP 배열에 다차원 배열이 포함된 경우 json_encode() 함수는 우리를 만족시킬 수 없습니다. 그러므로 우리는 직접 만든 기능을 사용해야 합니다. json_encode(),可以将一个PHP数组转换为JSON格式的字符串。然而,当PHP数组中包含多维数组时,json_encode()函数就不能使我们满意了。因此,我们需要使用一个自制的函数。

下面是将JSON数组转换为字符串的函数:

function json_arr2string($arr, $indent=0){
  $str = "";
  $indstr = "";
  for ($i=0; $i<$indent; $i++){
    $indstr .= "    ";
  }
  foreach ($arr as $key => $val){
    if (is_array($val)){
      $str .= $indstr . '"' . $key . '": {' . "\n" . json_arr2string($val, $indent+1) . $indstr . "},\n";
    } else{
      $str .= $indstr . '"' . $key . '": "' . $val . '",' . "\n";
    }
  }
  return "{" . "\n" . substr($str, 0, -2) . "\n" . $indstr . "}";
}
로그인 후 복사

函数有两个参数。第一个参数$arr是要转换为字符串的JSON数组,第二个参数缺省值为0,是用来处理多维数组的。

函数首先创建一个空字符串变量$str和一个用来缩进的字符串变量$indstr,然后检查数组中的每一个元素。通过递归调用自身,处理多维数组,直到所有元素都被处理完毕为止。

最后,将字符串变量$str的最后两个字符删除(即删除最后一个逗号和与其相邻的空格),并添加花括号和换行符,返回最终字符串。

下面是一个例子,演示如何使用上述函数将含有多维数组的JSON数组转换为字符串:

$json_arr = array(
    "name" => "PHP",
    "version" => "7.3.5",
    "extension" => array(
        "json" => "enabled",
        "curl" => "enabled",
        "pdo" => "enabled"
    ),
    "framework" => array(
        "name" => "Laravel",
        "version" => "5.8.18"
    )
);

$json_str = json_arr2string($json_arr);

echo $json_str;
로그인 후 복사

以上代码将输出以下结果:

{
    "name": "PHP",
    "version": "7.3.5",
    "extension": {
        "json": "enabled",
        "curl": "enabled",
        "pdo": "enabled"
    },
    "framework": {
        "name": "Laravel",
        "version": "5.8.18"
    }
}
로그인 후 복사

这是一个符合JSON格式的字符串,它将原来的JSON数组转换为了字符串。

总结:使用上述自制函数json_arr2string()可以很方便地将含有多维数组的JSON数组转换为字符串。如果您在PHP编程中没有遇到过多维数组,那么json_encode()

JSON 배열을 문자열로 변환하는 함수는 다음과 같습니다. 🎜rrreee🎜이 함수에는 두 개의 매개변수가 있습니다. 첫 번째 매개변수 $arr는 문자열로 변환할 JSON 배열입니다. 두 번째 매개변수는 기본값이 0이며 다차원 배열을 처리하는 데 사용됩니다. 🎜🎜함수는 먼저 들여쓰기를 위해 빈 문자열 변수 $str와 문자열 변수 $indstr를 생성한 다음 배열의 각 요소를 확인합니다. 모든 요소가 처리될 때까지 자신을 재귀적으로 호출하여 다차원 배열을 처리합니다. 🎜🎜마지막으로 문자열 변수 $str의 마지막 두 문자를 삭제하고(즉, 마지막 쉼표와 인접한 공백을 삭제하고) 중괄호와 줄 바꿈을 추가하고 최종 문자열을 반환합니다. 🎜🎜다음은 위 함수를 사용하여 다차원 배열이 포함된 JSON 배열을 문자열로 변환하는 방법을 보여주는 예입니다. 🎜rrreee🎜위 코드는 다음 결과를 출력합니다. 🎜rrreee🎜이것은 다음을 준수하는 문자열입니다. 원본이 될 JSON 형식입니다. JSON 배열이 문자열로 변환됩니다. 🎜🎜요약: 위에서 언급한 자체 제작 함수 json_arr2string()을 사용하면 다차원 배열이 포함된 JSON 배열을 문자열로 쉽게 변환할 수 있습니다. PHP 프로그래밍에서 다차원 배열을 접하지 않았다면 json_encode() 함수로 충분합니다. 🎜

위 내용은 PHP에서 JSON 배열을 문자열로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿