uTools-Manuals/docs/php/array_key_exists.html
2019-04-28 19:00:34 +08:00

141 lines
7.9 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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>检查数组里是否有指定的键名或索引</title>
</head>
<body class="docs"><div id="layout">
<div id="layout-content"><div id="function.array-key-exists" class="refentry">
<div class="refnamediv">
<h1 class="refname">array_key_exists</h1>
<p class="verinfo">(PHP 4 &gt;= 4.0.7, PHP 5, PHP 7)</p><p class="refpurpose"><span class="refname">array_key_exists</span> &mdash; <span class="dc-title">检查数组里是否有指定的键名或索引</span></p>
</div>
<div class="refsect1 description" id="refsect1-function.array-key-exists-description">
<h3 class="title">说明</h3>
<div class="methodsynopsis dc-description">
<span class="methodname"><strong>array_key_exists</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">$key</code></span>
, <span class="methodparam"><span class="type">array</span> <code class="parameter">$array</code></span>
) : <span class="type">bool</span></div>
<p class="para rdfs-comment">
数组里有键 <code class="parameter">key</code> 时,<span class="function"><strong>array_key_exists()</strong></span> 返回 <strong><code>TRUE</code></strong>
<code class="parameter">key</code>
可以是任何能作为数组索引的值。
</p>
</div>
<div class="refsect1 parameters" id="refsect1-function.array-key-exists-parameters">
<h3 class="title">参数</h3>
<p class="para">
<dl>
<dt>
<code class="parameter">key</code></dt>
<dd>
<p class="para">
要检查的键。
</p>
</dd>
<dt>
<code class="parameter">array</code></dt>
<dd>
<p class="para">
一个数组,包含待检查的键。
</p>
</dd>
</dl>
</p>
</div>
<div class="refsect1 returnvalues" id="refsect1-function.array-key-exists-returnvalues">
<h3 class="title">返回值</h3>
<p class="para">
成功时返回 <strong><code>TRUE</code></strong> 或者在失败时返回 <strong><code>FALSE</code></strong>
</p>
<blockquote class="note"><p><strong class="note">Note</strong>:
<p class="para">
<span class="function"><strong>array_key_exists()</strong></span> 仅仅搜索第一维的键。
多维数组里嵌套的键不会被搜索到。
</p>
</p></blockquote>
</div>
<div class="refsect1 examples" id="refsect1-function.array-key-exists-examples">
<h3 class="title">范例</h3>
<p class="para">
<div class="example" id="example-6037">
<p><strong>Example #1 <span class="function"><strong>array_key_exists()</strong></span> 例子</strong></p>
<div class="example-contents">
<div class="phpcode"><pre><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />$search_array&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #DD0000">'first'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'second'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">4</span><span style="color: #007700">);<br />if&nbsp;(</span><span style="color: #0000BB">array_key_exists</span><span style="color: #007700">(</span><span style="color: #DD0000">'first'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$search_array</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"The&nbsp;'first'&nbsp;element&nbsp;is&nbsp;in&nbsp;the&nbsp;array"</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</pre></div>
</div>
</div>
</p>
<div class="example" id="example-6038">
<p><strong>Example #2 <span class="function"><strong>array_key_exists()</strong></span><span class="function"><a href="isset.html" class="function">isset()</a></span> 的对比</strong></p>
<div class="example-contents"><p>
<span class="function"><a href="isset.html" class="function">isset()</a></span> 对于数组中为 <strong><code>NULL</code></strong>
的值不会返回 <strong><code>TRUE</code></strong>,而
<span class="function"><strong>array_key_exists()</strong></span> 会。
</p></div>
<div class="example-contents">
<div class="phpcode"><pre><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />$search_array&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #DD0000">'first'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">null</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'second'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">4</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">//&nbsp;returns&nbsp;false<br /></span><span style="color: #007700">isset(</span><span style="color: #0000BB">$search_array</span><span style="color: #007700">[</span><span style="color: #DD0000">'first'</span><span style="color: #007700">]);<br /><br /></span><span style="color: #FF8000">//&nbsp;returns&nbsp;true<br /></span><span style="color: #0000BB">array_key_exists</span><span style="color: #007700">(</span><span style="color: #DD0000">'first'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$search_array</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</pre></div>
</div>
</div>
</div>
<div class="refsect1 notes" id="refsect1-function.array-key-exists-notes">
<h3 class="title">注释</h3>
<blockquote class="note"><p><strong class="note">Note</strong>:
<p class="para">
由于为了兼容以前版本,如果 <span class="type"><a href="language.types.object.html" class="type object">object</a></span> 当做 <code class="parameter">array</code> 传入 <span class="function"><strong>array_key_exists()</strong></span>,同时 <code class="parameter">key</code> 是对象的属性,也会返回 <strong><code>TRUE</code></strong>
不要依赖这个特性,保证参数 <code class="parameter">array</code> 类型是数组(<span class="type"><a href="language.types.array.html" class="type array">array</a></span>)。
</p>
<p class="para">
要检查对象是否有某个属性,应该去用
<span class="function"><a href="property_exists.html" class="function">property_exists()</a></span>
</p>
</p></blockquote>
</div>
<div class="refsect1 seealso" id="refsect1-function.array-key-exists-seealso">
<h3 class="title">参见</h3>
<p class="para">
<ul class="simplelist">
<li class="member"><span class="function"><a href="isset.html" class="function" rel="rdfs-seeAlso">isset()</a> - 检测变量是否已设置并且非 NULL</span></li>
<li class="member"><span class="function"><a href="array_keys.html" class="function" rel="rdfs-seeAlso">array_keys()</a> - 返回数组中部分的或所有的键名</span></li>
<li class="member"><span class="function"><a href="in_array.html" class="function" rel="rdfs-seeAlso">in_array()</a> - 检查数组中是否存在某个值</span></li>
<li class="member"><span class="function"><a href="property_exists.html" class="function" rel="rdfs-seeAlso">property_exists()</a> - 检查对象或类是否具有该属性</span></li>
</ul>
</p>
</div>
</div></div></div></body></html>