mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-06-17 21:16:57 +08:00
393 lines
28 KiB
HTML
393 lines
28 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||
<html>
|
||
<head>
|
||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||
<title>对变量进行 JSON 编码</title>
|
||
</head>
|
||
<body class="docs"><div id="layout">
|
||
<div id="layout-content"><div id="function.json-encode" class="refentry">
|
||
<div class="refnamediv">
|
||
<h1 class="refname">json_encode</h1>
|
||
<p class="verinfo">(PHP 5 >= 5.2.0, PHP 7, PECL json >= 1.2.0)</p><p class="refpurpose"><span class="refname">json_encode</span> — <span class="dc-title">对变量进行 JSON 编码</span></p>
|
||
|
||
</div>
|
||
|
||
<div class="refsect1 description" id="refsect1-function.json-encode-description">
|
||
<h3 class="title">说明</h3>
|
||
<div class="methodsynopsis dc-description">
|
||
<span class="methodname"><strong>json_encode</strong></span>
|
||
( <span class="methodparam"><span class="type"><a href="language.pseudo-types.html#language.types.mixed" class="type mixed">mixed</a></span> <code class="parameter">$value</code></span>
|
||
[, <span class="methodparam"><span class="type">int</span> <code class="parameter">$options</code><span class="initializer"> = 0</span></span>
|
||
[, <span class="methodparam"><span class="type">int</span> <code class="parameter">$depth</code><span class="initializer"> = 512</span></span>
|
||
]] ) : <span class="type">string</span></div>
|
||
|
||
<p class="para rdfs-comment">
|
||
返回字符串,包含了 <code class="parameter">value</code> 值 JSON 形式的表示。
|
||
</p>
|
||
<p class="para">
|
||
编码受传入的 <code class="parameter">options</code> 参数影响,此外浮点值的编码依赖于 <a href="ini.core.html#ini.serialize-precision" class="link">serialize_precision</a>。
|
||
</p>
|
||
</div>
|
||
|
||
|
||
<div class="refsect1 parameters" id="refsect1-function.json-encode-parameters">
|
||
<h3 class="title">参数</h3>
|
||
<p class="para">
|
||
<dl>
|
||
|
||
|
||
<dt>
|
||
<code class="parameter">value</code></dt>
|
||
|
||
<dd>
|
||
|
||
<p class="para">
|
||
待编码的 <code class="parameter">value</code> ,除了<span class="type"><a href="language.types.resource.html" class="type resource">resource</a></span>
|
||
类型之外,可以为任何数据类型。
|
||
</p>
|
||
<p class="para">
|
||
所有字符串数据的编码必须是 UTF-8。
|
||
</p>
|
||
|
||
<blockquote class="note"><p><strong class="note">Note</strong>:
|
||
<p class="para">
|
||
PHP implements a superset of JSON as specified in the original
|
||
<a href="http://www.faqs.org/rfcs/rfc7159" class="link external">» RFC 7159</a>.
|
||
</p>
|
||
</p></blockquote>
|
||
|
||
</dd>
|
||
|
||
|
||
|
||
<dt>
|
||
<code class="parameter">options</code></dt>
|
||
|
||
<dd>
|
||
|
||
<p class="para">
|
||
由以下常量组成的二进制掩码: <strong><code>JSON_HEX_QUOT</code></strong>,
|
||
<strong><code>JSON_HEX_TAG</code></strong>,
|
||
<strong><code>JSON_HEX_AMP</code></strong>,
|
||
<strong><code>JSON_HEX_APOS</code></strong>,
|
||
<strong><code>JSON_NUMERIC_CHECK</code></strong>,
|
||
<strong><code>JSON_PRETTY_PRINT</code></strong>,
|
||
<strong><code>JSON_UNESCAPED_SLASHES</code></strong>,
|
||
<strong><code>JSON_FORCE_OBJECT</code></strong>,
|
||
<strong><code>JSON_PRESERVE_ZERO_FRACTION</code></strong>,
|
||
<strong><code>JSON_UNESCAPED_UNICODE</code></strong>,
|
||
<strong><code>JSON_PARTIAL_OUTPUT_ON_ERROR</code></strong>。
|
||
关于 JSON 常量详情参考<a href="json.constants.html" class="link">JSON 常量</a>页面。
|
||
</p>
|
||
</dd>
|
||
|
||
|
||
|
||
<dt>
|
||
<code class="parameter">depth</code></dt>
|
||
|
||
<dd>
|
||
|
||
<p class="para">
|
||
设置最大深度。 必须大于0。
|
||
</p>
|
||
</dd>
|
||
|
||
|
||
</dl>
|
||
|
||
</p>
|
||
</div>
|
||
|
||
|
||
<div class="refsect1 returnvalues" id="refsect1-function.json-encode-returnvalues">
|
||
<h3 class="title">返回值</h3>
|
||
<p class="para">
|
||
成功则返回 JSON 编码的 <span class="type"><a href="language.types.string.html" class="type string">string</a></span> 或者在失败时返回 <strong><code>FALSE</code></strong> 。
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<div class="refsect1 changelog" id="refsect1-function.json-encode-changelog">
|
||
<h3 class="title">更新日志</h3>
|
||
<p class="para">
|
||
<table class="doctable informaltable">
|
||
|
||
<thead>
|
||
<tr>
|
||
<th>版本</th>
|
||
<th>说明</th>
|
||
</tr>
|
||
|
||
</thead>
|
||
|
||
<tbody class="tbody">
|
||
<tr>
|
||
<td>7.1.0</td>
|
||
<td>
|
||
对 Double 的值进行编码时,使用 <a href="ini.core.html#ini.serialize-precision" class="link">serialize_precision</a> 代替 <a href="ini.core.html#ini.precision" class="link">precision</a>。
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td>5.6.6</td>
|
||
<td>
|
||
<code class="parameter">options</code> 参数增加常量:
|
||
<strong><code>JSON_PRESERVE_ZERO_FRACTION</code></strong>
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td>5.5.0</td>
|
||
<td>
|
||
增加 <code class="parameter">depth</code> 参数。
|
||
</td>
|
||
</tr>
|
||
|
||
|
||
<tr>
|
||
<td>5.5.0</td>
|
||
<td>
|
||
增加了 <strong><code>JSON_PARTIAL_OUTPUT_ON_ERROR</code></strong> 选项。
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td>5.5.0</td>
|
||
<td>
|
||
失败时返回的值从 <em>null</em> 字符串改成 <strong><code>FALSE</code></strong>。
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td>5.4.0</td>
|
||
<td>
|
||
<code class="parameter">options</code> 参数增加常量:
|
||
<strong><code>JSON_PRETTY_PRINT</code></strong>, <strong><code>JSON_UNESCAPED_SLASHES</code></strong>, 和 <strong><code>JSON_UNESCAPED_UNICODE</code></strong>。
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td>5.3.3</td>
|
||
<td>
|
||
<code class="parameter">options</code> 参数增加常量:<strong><code>JSON_NUMERIC_CHECK</code></strong>。
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td>5.3.0</td>
|
||
<td>
|
||
增加 <code class="parameter">options</code> 参数.
|
||
</td>
|
||
</tr>
|
||
|
||
</tbody>
|
||
|
||
</table>
|
||
|
||
</p>
|
||
</div>
|
||
|
||
<div class="refsect1 examples" id="refsect1-function.json-encode-examples">
|
||
<h3 class="title">范例</h3>
|
||
<p class="para">
|
||
<div class="example" id="example-4518">
|
||
<p><strong>Example #1 <span class="function"><strong>json_encode()</strong></span> 例子</strong></p>
|
||
<div class="example-contents">
|
||
<div class="phpcode"><pre><span style="color: #000000">
|
||
<span style="color: #0000BB"><?php<br />$arr </span><span style="color: #007700">= array (</span><span style="color: #DD0000">'a'</span><span style="color: #007700">=></span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #DD0000">'b'</span><span style="color: #007700">=></span><span style="color: #0000BB">2</span><span style="color: #007700">,</span><span style="color: #DD0000">'c'</span><span style="color: #007700">=></span><span style="color: #0000BB">3</span><span style="color: #007700">,</span><span style="color: #DD0000">'d'</span><span style="color: #007700">=></span><span style="color: #0000BB">4</span><span style="color: #007700">,</span><span style="color: #DD0000">'e'</span><span style="color: #007700">=></span><span style="color: #0000BB">5</span><span style="color: #007700">);<br /><br />echo </span><span style="color: #0000BB">json_encode</span><span style="color: #007700">(</span><span style="color: #0000BB">$arr</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span>
|
||
</span>
|
||
</pre></div>
|
||
</div>
|
||
|
||
<div class="example-contents"><p>以上例程会输出:</p></div>
|
||
<div class="example-contents screen">
|
||
<div class="cdata"><pre>
|
||
{"a":1,"b":2,"c":3,"d":4,"e":5}
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="example" id="example-4519">
|
||
<p><strong>Example #2 <span class="function"><strong>json_encode()</strong></span> 函数中 <code class="parameter">options</code> 参数的用法</strong></p>
|
||
<div class="example-contents">
|
||
<div class="phpcode"><pre><span style="color: #000000">
|
||
<span style="color: #0000BB"><?php<br />$a </span><span style="color: #007700">= array(</span><span style="color: #DD0000">'<foo>'</span><span style="color: #007700">,</span><span style="color: #DD0000">"'bar'"</span><span style="color: #007700">,</span><span style="color: #DD0000">'"baz"'</span><span style="color: #007700">,</span><span style="color: #DD0000">'&blong&'</span><span style="color: #007700">, </span><span style="color: #DD0000">"\xc3\xa9"</span><span style="color: #007700">);<br /><br />echo </span><span style="color: #DD0000">"Normal: "</span><span style="color: #007700">, </span><span style="color: #0000BB">json_encode</span><span style="color: #007700">(</span><span style="color: #0000BB">$a</span><span style="color: #007700">), </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />echo </span><span style="color: #DD0000">"Tags: "</span><span style="color: #007700">, </span><span style="color: #0000BB">json_encode</span><span style="color: #007700">(</span><span style="color: #0000BB">$a</span><span style="color: #007700">, </span><span style="color: #0000BB">JSON_HEX_TAG</span><span style="color: #007700">), </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />echo </span><span style="color: #DD0000">"Apos: "</span><span style="color: #007700">, </span><span style="color: #0000BB">json_encode</span><span style="color: #007700">(</span><span style="color: #0000BB">$a</span><span style="color: #007700">, </span><span style="color: #0000BB">JSON_HEX_APOS</span><span style="color: #007700">), </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />echo </span><span style="color: #DD0000">"Quot: "</span><span style="color: #007700">, </span><span style="color: #0000BB">json_encode</span><span style="color: #007700">(</span><span style="color: #0000BB">$a</span><span style="color: #007700">, </span><span style="color: #0000BB">JSON_HEX_QUOT</span><span style="color: #007700">), </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />echo </span><span style="color: #DD0000">"Amp: "</span><span style="color: #007700">, </span><span style="color: #0000BB">json_encode</span><span style="color: #007700">(</span><span style="color: #0000BB">$a</span><span style="color: #007700">, </span><span style="color: #0000BB">JSON_HEX_AMP</span><span style="color: #007700">), </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />echo </span><span style="color: #DD0000">"Unicode: "</span><span style="color: #007700">, </span><span style="color: #0000BB">json_encode</span><span style="color: #007700">(</span><span style="color: #0000BB">$a</span><span style="color: #007700">, </span><span style="color: #0000BB">JSON_UNESCAPED_UNICODE</span><span style="color: #007700">), </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />echo </span><span style="color: #DD0000">"All: "</span><span style="color: #007700">, </span><span style="color: #0000BB">json_encode</span><span style="color: #007700">(</span><span style="color: #0000BB">$a</span><span style="color: #007700">, </span><span style="color: #0000BB">JSON_HEX_TAG </span><span style="color: #007700">| </span><span style="color: #0000BB">JSON_HEX_APOS </span><span style="color: #007700">| </span><span style="color: #0000BB">JSON_HEX_QUOT </span><span style="color: #007700">| </span><span style="color: #0000BB">JSON_HEX_AMP </span><span style="color: #007700">| </span><span style="color: #0000BB">JSON_UNESCAPED_UNICODE</span><span style="color: #007700">), </span><span style="color: #DD0000">"\n\n"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$b </span><span style="color: #007700">= array();<br /><br />echo </span><span style="color: #DD0000">"Empty array output as array: "</span><span style="color: #007700">, </span><span style="color: #0000BB">json_encode</span><span style="color: #007700">(</span><span style="color: #0000BB">$b</span><span style="color: #007700">), </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />echo </span><span style="color: #DD0000">"Empty array output as object: "</span><span style="color: #007700">, </span><span style="color: #0000BB">json_encode</span><span style="color: #007700">(</span><span style="color: #0000BB">$b</span><span style="color: #007700">, </span><span style="color: #0000BB">JSON_FORCE_OBJECT</span><span style="color: #007700">), </span><span style="color: #DD0000">"\n\n"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$c </span><span style="color: #007700">= array(array(</span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #0000BB">2</span><span style="color: #007700">,</span><span style="color: #0000BB">3</span><span style="color: #007700">));<br /><br />echo </span><span style="color: #DD0000">"Non-associative array output as array: "</span><span style="color: #007700">, </span><span style="color: #0000BB">json_encode</span><span style="color: #007700">(</span><span style="color: #0000BB">$c</span><span style="color: #007700">), </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />echo </span><span style="color: #DD0000">"Non-associative array output as object: "</span><span style="color: #007700">, </span><span style="color: #0000BB">json_encode</span><span style="color: #007700">(</span><span style="color: #0000BB">$c</span><span style="color: #007700">, </span><span style="color: #0000BB">JSON_FORCE_OBJECT</span><span style="color: #007700">), </span><span style="color: #DD0000">"\n\n"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$d </span><span style="color: #007700">= array(</span><span style="color: #DD0000">'foo' </span><span style="color: #007700">=> </span><span style="color: #DD0000">'bar'</span><span style="color: #007700">, </span><span style="color: #DD0000">'baz' </span><span style="color: #007700">=> </span><span style="color: #DD0000">'long'</span><span style="color: #007700">);<br /><br />echo </span><span style="color: #DD0000">"Associative array always output as object: "</span><span style="color: #007700">, </span><span style="color: #0000BB">json_encode</span><span style="color: #007700">(</span><span style="color: #0000BB">$d</span><span style="color: #007700">), </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />echo </span><span style="color: #DD0000">"Associative array always output as object: "</span><span style="color: #007700">, </span><span style="color: #0000BB">json_encode</span><span style="color: #007700">(</span><span style="color: #0000BB">$d</span><span style="color: #007700">, </span><span style="color: #0000BB">JSON_FORCE_OBJECT</span><span style="color: #007700">), </span><span style="color: #DD0000">"\n\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?></span>
|
||
</span>
|
||
</pre></div>
|
||
</div>
|
||
|
||
<div class="example-contents"><p>以上例程会输出:</p></div>
|
||
<div class="example-contents screen">
|
||
<div class="cdata"><pre>
|
||
Normal: ["<foo>","'bar'","\"baz\"","&blong&","\u00e9"]
|
||
Tags: ["\u003Cfoo\u003E","'bar'","\"baz\"","&blong&","\u00e9"]
|
||
Apos: ["<foo>","\u0027bar\u0027","\"baz\"","&blong&","\u00e9"]
|
||
Quot: ["<foo>","'bar'","\u0022baz\u0022","&blong&","\u00e9"]
|
||
Amp: ["<foo>","'bar'","\"baz\"","\u0026blong\u0026","\u00e9"]
|
||
Unicode: ["<foo>","'bar'","\"baz\"","&blong&","é"]
|
||
All: ["\u003Cfoo\u003E","\u0027bar\u0027","\u0022baz\u0022","\u0026blong\u0026","é"]
|
||
|
||
Empty array output as array: []
|
||
Empty array output as object: {}
|
||
|
||
Non-associative array output as array: [[1,2,3]]
|
||
Non-associative array output as object: {"0":{"0":1,"1":2,"2":3}}
|
||
|
||
Associative array always output as object: {"foo":"bar","baz":"long"}
|
||
Associative array always output as object: {"foo":"bar","baz":"long"}
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
<div class="example" id="example-4520">
|
||
<p><strong>Example #3 选项 JSON_NUMERIC_CHECK 例子</strong></p>
|
||
<div class="example-contents">
|
||
<div class="phpcode"><pre><span style="color: #000000">
|
||
<span style="color: #0000BB"><?php<br /></span><span style="color: #007700">echo </span><span style="color: #DD0000">"Strings representing numbers automatically turned into numbers"</span><span style="color: #007700">.</span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$numbers </span><span style="color: #007700">= array(</span><span style="color: #DD0000">'+123123'</span><span style="color: #007700">, </span><span style="color: #DD0000">'-123123'</span><span style="color: #007700">, </span><span style="color: #DD0000">'1.2e3'</span><span style="color: #007700">, </span><span style="color: #DD0000">'0.00001'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(<br /> </span><span style="color: #0000BB">$numbers</span><span style="color: #007700">,<br /> </span><span style="color: #0000BB">json_encode</span><span style="color: #007700">(</span><span style="color: #0000BB">$numbers</span><span style="color: #007700">, </span><span style="color: #0000BB">JSON_NUMERIC_CHECK</span><span style="color: #007700">)<br />);<br />echo </span><span style="color: #DD0000">"Strings containing improperly formatted numbers"</span><span style="color: #007700">.</span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$strings </span><span style="color: #007700">= array(</span><span style="color: #DD0000">'+a33123456789'</span><span style="color: #007700">, </span><span style="color: #DD0000">'a123'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(<br /> </span><span style="color: #0000BB">$strings</span><span style="color: #007700">,<br /> </span><span style="color: #0000BB">json_encode</span><span style="color: #007700">(</span><span style="color: #0000BB">$strings</span><span style="color: #007700">, </span><span style="color: #0000BB">JSON_NUMERIC_CHECK</span><span style="color: #007700">)<br />);<br /></span><span style="color: #0000BB">?></span>
|
||
</span>
|
||
</pre></div>
|
||
</div>
|
||
|
||
<div class="example-contents"><p>以上例程的输出类似于:</p></div>
|
||
<div class="example-contents screen">
|
||
<div class="cdata"><pre>
|
||
Strings representing numbers automatically turned into numbers
|
||
array(4) {
|
||
[0]=>
|
||
string(7) "+123123"
|
||
[1]=>
|
||
string(7) "-123123"
|
||
[2]=>
|
||
string(5) "1.2e3"
|
||
[3]=>
|
||
string(7) "0.00001"
|
||
}
|
||
string(28) "[123123,-123123,1200,1.0e-5]"
|
||
Strings containing improperly formatted numbers
|
||
array(2) {
|
||
[0]=>
|
||
string(13) "+a33123456789"
|
||
[1]=>
|
||
string(4) "a123"
|
||
}
|
||
string(24) "["+a33123456789","a123"]"
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
<div class="example" id="example-4521">
|
||
<p><strong>Example #4 连续与非连续数组示例</strong></p>
|
||
<div class="example-contents">
|
||
<div class="phpcode"><pre><span style="color: #000000">
|
||
<span style="color: #0000BB"><?php<br /></span><span style="color: #007700">echo </span><span style="color: #DD0000">"连续数组"</span><span style="color: #007700">.</span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$sequential </span><span style="color: #007700">= array(</span><span style="color: #DD0000">"foo"</span><span style="color: #007700">, </span><span style="color: #DD0000">"bar"</span><span style="color: #007700">, </span><span style="color: #DD0000">"baz"</span><span style="color: #007700">, </span><span style="color: #DD0000">"blong"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(<br /> </span><span style="color: #0000BB">$sequential</span><span style="color: #007700">,<br /> </span><span style="color: #0000BB">json_encode</span><span style="color: #007700">(</span><span style="color: #0000BB">$sequential</span><span style="color: #007700">)<br />);<br /><br />echo </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">.</span><span style="color: #DD0000">"非连续数组"</span><span style="color: #007700">.</span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$nonsequential </span><span style="color: #007700">= array(</span><span style="color: #0000BB">1</span><span style="color: #007700">=></span><span style="color: #DD0000">"foo"</span><span style="color: #007700">, </span><span style="color: #0000BB">2</span><span style="color: #007700">=></span><span style="color: #DD0000">"bar"</span><span style="color: #007700">, </span><span style="color: #0000BB">3</span><span style="color: #007700">=></span><span style="color: #DD0000">"baz"</span><span style="color: #007700">, </span><span style="color: #0000BB">4</span><span style="color: #007700">=></span><span style="color: #DD0000">"blong"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(<br /> </span><span style="color: #0000BB">$nonsequential</span><span style="color: #007700">,<br /> </span><span style="color: #0000BB">json_encode</span><span style="color: #007700">(</span><span style="color: #0000BB">$nonsequential</span><span style="color: #007700">)<br />);<br /><br />echo </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">.</span><span style="color: #DD0000">"删除一个连续数组值的方式产生的非连续数组"</span><span style="color: #007700">.</span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br />unset(</span><span style="color: #0000BB">$sequential</span><span style="color: #007700">[</span><span style="color: #0000BB">1</span><span style="color: #007700">]);<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(<br /> </span><span style="color: #0000BB">$sequential</span><span style="color: #007700">,<br /> </span><span style="color: #0000BB">json_encode</span><span style="color: #007700">(</span><span style="color: #0000BB">$sequential</span><span style="color: #007700">)<br />);<br /></span><span style="color: #0000BB">?></span>
|
||
</span>
|
||
</pre></div>
|
||
</div>
|
||
|
||
<div class="example-contents"><p>以上例程会输出:</p></div>
|
||
<div class="example-contents screen">
|
||
<div class="cdata"><pre>
|
||
连续数组
|
||
array(4) {
|
||
[0]=>
|
||
string(3) "foo"
|
||
[1]=>
|
||
string(3) "bar"
|
||
[2]=>
|
||
string(3) "baz"
|
||
[3]=>
|
||
string(5) "blong"
|
||
}
|
||
string(27) "["foo","bar","baz","blong"]"
|
||
|
||
非连续数组
|
||
array(4) {
|
||
[1]=>
|
||
string(3) "foo"
|
||
[2]=>
|
||
string(3) "bar"
|
||
[3]=>
|
||
string(3) "baz"
|
||
[4]=>
|
||
string(5) "blong"
|
||
}
|
||
string(43) "{"1":"foo","2":"bar","3":"baz","4":"blong"}"
|
||
|
||
删除一个连续数组值的方式产生的非连续数组
|
||
array(3) {
|
||
[0]=>
|
||
string(3) "foo"
|
||
[2]=>
|
||
string(3) "baz"
|
||
[3]=>
|
||
string(5) "blong"
|
||
}
|
||
string(33) "{"0":"foo","2":"baz","3":"blong"}"
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
<div class="example" id="example-4522">
|
||
<p><strong>Example #5 <strong><code>选项 JSON_PRESERVE_ZERO_FRACTION</code></strong> 的例子</strong></p>
|
||
<div class="example-contents">
|
||
<div class="phpcode"><pre><span style="color: #000000">
|
||
<span style="color: #0000BB"><?php<br />var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">json_encode</span><span style="color: #007700">(</span><span style="color: #0000BB">12.0</span><span style="color: #007700">, </span><span style="color: #0000BB">JSON_PRESERVE_ZERO_FRACTION</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">json_encode</span><span style="color: #007700">(</span><span style="color: #0000BB">12.0</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">?></span>
|
||
</span>
|
||
</pre></div>
|
||
</div>
|
||
|
||
<div class="example-contents"><p>以上例程会输出:</p></div>
|
||
<div class="example-contents screen">
|
||
<div class="cdata"><pre>
|
||
string(4) "12.0"
|
||
string(2) "12"
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<div class="refsect1 notes" id="refsect1-function.json-encode-notes">
|
||
<h3 class="title">注释</h3>
|
||
<blockquote class="note"><p><strong class="note">Note</strong>:
|
||
<p class="para">
|
||
如果执行失败,可以通过 <span class="function"><a href="json_last_error.html" class="function">json_last_error()</a></span> 函数来获取详细错误信息。
|
||
</p>
|
||
</p></blockquote>
|
||
<blockquote class="note"><p><strong class="note">Note</strong>:
|
||
<p class="para">
|
||
如果要编码的数组的键不是从0开始的数字,所有的键将会被当作字符串,并明确声明为 key-value 对。
|
||
</p>
|
||
</p></blockquote>
|
||
|
||
<blockquote class="note"><p><strong class="note">Note</strong>:
|
||
<p class="para">
|
||
Like the reference JSON encoder, <span class="function"><strong>json_encode()</strong></span> will
|
||
generate JSON that is a simple value (that is, neither an object nor an
|
||
array) if given a <span class="type"><a href="language.types.string.html" class="type string">string</a></span>, <span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span>,
|
||
<span class="type"><a href="language.types.float.html" class="type float">float</a></span> or <span class="type"><a href="language.types.boolean.html" class="type boolean">boolean</a></span> as an input
|
||
<code class="parameter">value</code>. While most decoders will accept these values
|
||
as valid JSON, some may not, as the specification is ambiguous on this
|
||
point.
|
||
</p>
|
||
<p class="para">
|
||
总而言之,应该测试下 JSON decoder 能否处理 <span class="function"><strong>json_encode()</strong></span> 生成的数据。
|
||
</p>
|
||
</p></blockquote>
|
||
</div>
|
||
|
||
|
||
<div class="refsect1 seealso" id="refsect1-function.json-encode-seealso">
|
||
<h3 class="title">参见</h3>
|
||
<p class="para">
|
||
<ul class="simplelist">
|
||
<li class="member"><span class="interfacename"><a href="class.jsonserializable.html" class="interfacename">JsonSerializable</a></span></li>
|
||
<li class="member"><span class="function"><a href="json_decode.html" class="function" rel="rdfs-seeAlso">json_decode()</a> - 对 JSON 格式的字符串进行解码</span></li>
|
||
<li class="member"><span class="function"><a href="json_last_error.html" class="function" rel="rdfs-seeAlso">json_last_error()</a> - 返回最后发生的错误</span></li>
|
||
<li class="member"><span class="function"><a href="serialize.html" class="function" rel="rdfs-seeAlso">serialize()</a> - 产生一个可存储的值的表示</span></li>
|
||
</ul>
|
||
</p>
|
||
</div>
|
||
|
||
</div></div></div></body></html> |