📄 language.types.array.html
字号:
<span style="color: #0000BB"><?php<br /></span><span style="color: #FF8000">// Array as (property-)map<br /></span><span style="color: #0000BB">$map </span><span style="color: #007700">= array( </span><span style="color: #DD0000">'version' </span><span style="color: #007700">=> </span><span style="color: #0000BB">4</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'OS' </span><span style="color: #007700">=> </span><span style="color: #DD0000">'Linux'</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'lang' </span><span style="color: #007700">=> </span><span style="color: #DD0000">'english'</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'short_tags' </span><span style="color: #007700">=> </span><span style="color: #0000BB">true<br /> </span><span style="color: #007700">);<br /> <br /></span><span style="color: #FF8000">// strictly numerical keys<br /></span><span style="color: #0000BB">$array </span><span style="color: #007700">= array( </span><span style="color: #0000BB">7</span><span style="color: #007700">,<br /> </span><span style="color: #0000BB">8</span><span style="color: #007700">,<br /> </span><span style="color: #0000BB">0</span><span style="color: #007700">,<br /> </span><span style="color: #0000BB">156</span><span style="color: #007700">,<br /> -</span><span style="color: #0000BB">10<br /> </span><span style="color: #007700">);<br /></span><span style="color: #FF8000">// this is the same as array(0 => 7, 1 => 8, ...)<br /><br /></span><span style="color: #0000BB">$switching </span><span style="color: #007700">= array( </span><span style="color: #0000BB">10</span><span style="color: #007700">, </span><span style="color: #FF8000">// key = 0<br /> </span><span style="color: #0000BB">5 </span><span style="color: #007700">=> </span><span style="color: #0000BB">6</span><span style="color: #007700">,<br /> </span><span style="color: #0000BB">3 </span><span style="color: #007700">=> </span><span style="color: #0000BB">7</span><span style="color: #007700">, <br /> </span><span style="color: #DD0000">'a' </span><span style="color: #007700">=> </span><span style="color: #0000BB">4</span><span style="color: #007700">,<br /> </span><span style="color: #0000BB">11</span><span style="color: #007700">, </span><span style="color: #FF8000">// key = 6 (maximum of integer-indices was 5)<br /> </span><span style="color: #DD0000">'8' </span><span style="color: #007700">=> </span><span style="color: #0000BB">2</span><span style="color: #007700">, </span><span style="color: #FF8000">// key = 8 (integer!)<br /> </span><span style="color: #DD0000">'02' </span><span style="color: #007700">=> </span><span style="color: #0000BB">77</span><span style="color: #007700">, </span><span style="color: #FF8000">// key = '02'<br /> </span><span style="color: #0000BB">0 </span><span style="color: #007700">=> </span><span style="color: #0000BB">12 </span><span style="color: #FF8000">// the value 10 will be overwritten by 12<br /> </span><span style="color: #007700">);<br /> <br /></span><span style="color: #FF8000">// empty array<br /></span><span style="color: #0000BB">$empty </span><span style="color: #007700">= array(); <br /></span><span style="color: #0000BB">?></span></span></code></div> </div> </div> <div class="example" id="language.types.array.examples.loop" name="language.types.array.examples.loop"> <p><b>Example #2 Collection</b></p> <div class="example-contents"><div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB"><?php<br />$colors </span><span style="color: #007700">= array(</span><span style="color: #DD0000">'red'</span><span style="color: #007700">, </span><span style="color: #DD0000">'blue'</span><span style="color: #007700">, </span><span style="color: #DD0000">'green'</span><span style="color: #007700">, </span><span style="color: #DD0000">'yellow'</span><span style="color: #007700">);<br /><br />foreach (</span><span style="color: #0000BB">$colors </span><span style="color: #007700">as </span><span style="color: #0000BB">$color</span><span style="color: #007700">) {<br /> echo </span><span style="color: #DD0000">"Do you like $color?\n"</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">?></span></span></code></div> </div> <div class="example-contents"><p>The above example will output:</p></div> <div class="example-contents"><pre><div class="cdata"><pre>Do you like red?Do you like blue?Do you like green?Do you like yellow?</pre></div> </pre></div> </div> <p class="para"> Changing the values of the <a href="language.types.array.html" class="type array">array</a> directly is possible since PHP 5 by passing them by reference. Before that, a workaround is necessary: </p> <div class="example" id="language.types.array.examples.changeloop" name="language.types.array.examples.changeloop"> <p><b>Example #3 Collection</b></p> <div class="example-contents"><div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB"><?php<br /></span><span style="color: #FF8000">// PHP 5<br /></span><span style="color: #007700">foreach (</span><span style="color: #0000BB">$colors </span><span style="color: #007700">as &</span><span style="color: #0000BB">$color</span><span style="color: #007700">) {<br /> </span><span style="color: #0000BB">$color </span><span style="color: #007700">= </span><span style="color: #0000BB">strtoupper</span><span style="color: #007700">(</span><span style="color: #0000BB">$color</span><span style="color: #007700">);<br />}<br />unset(</span><span style="color: #0000BB">$color</span><span style="color: #007700">); </span><span style="color: #FF8000">/* ensure that following writes to<br />$color will not modify the last array element */<br /><br />// Workaround for older versions<br /></span><span style="color: #007700">foreach (</span><span style="color: #0000BB">$colors </span><span style="color: #007700">as </span><span style="color: #0000BB">$key </span><span style="color: #007700">=> </span><span style="color: #0000BB">$color</span><span style="color: #007700">) {<br /> </span><span style="color: #0000BB">$colors</span><span style="color: #007700">[</span><span style="color: #0000BB">$key</span><span style="color: #007700">] = </span><span style="color: #0000BB">strtoupper</span><span style="color: #007700">(</span><span style="color: #0000BB">$color</span><span style="color: #007700">);<br />}<br /><br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$colors</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span></span></code></div> </div> <div class="example-contents"><p>The above example will output:</p></div> <div class="example-contents"><pre><div class="cdata"><pre>Array( [0] => RED [1] => BLUE [2] => GREEN [3] => YELLOW)</pre></div> </pre></div> </div> <p class="para"> This example creates a one-based array. </p> <div class="example"> <p><b>Example #4 One-based index</b></p> <div class="example-contents"><div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB"><?php<br />$firstquarter </span><span style="color: #007700">= array(</span><span style="color: #0000BB">1 </span><span style="color: #007700">=> </span><span style="color: #DD0000">'January'</span><span style="color: #007700">, </span><span style="color: #DD0000">'February'</span><span style="color: #007700">, </span><span style="color: #DD0000">'March'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$firstquarter</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span></span></code></div> </div> <div class="example-contents"><p>The above example will output:</p></div> <div class="example-contents"><pre><div class="cdata"><pre>Array ( [1] => 'January' [2] => 'February' [3] => 'March')</pre></div> </pre></div> </div> <div class="example"> <p><b>Example #5 Filling an array</b></p> <div class="example-contents"><div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB"><?php<br /></span><span style="color: #FF8000">// fill an array with all items from a directory<br /></span><span style="color: #0000BB">$handle </span><span style="color: #007700">= </span><span style="color: #0000BB">opendir</span><span style="color: #007700">(</span><span style="color: #DD0000">'.'</span><span style="color: #007700">);<br />while (</span><span style="color: #0000BB">false </span><span style="color: #007700">!== (</span><span style="color: #0000BB">$file </span><span style="color: #007700">= </span><span style="color: #0000BB">readdir</span><span style="color: #007700">(</span><span style="color: #0000BB">$handle</span><span style="color: #007700">))) {<br /> </span><span style="color: #0000BB">$files</span><span style="color: #007700">[] = </span><span style="color: #0000BB">$file</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">closedir</span><span style="color: #007700">(</span><span style="color: #0000BB">$handle</span><span style="color: #007700">); <br /></span><span style="color: #0000BB">?></span></span></code></div> </div> </div> <p class="para"> <a href="language.types.array.html" class="type Array">Array</a>s are ordered. The order can be changed using various sorting functions. See the <a href="ref.array.html" class="link">array functions</a> section for more information. The <a href="function.count.html" class="function">count()</a> function can be used to count the number of items in an <a href="language.types.array.html" class="type array">array</a>. </p> <div class="example"> <p><b>Example #6 Sorting an array</b></p> <div class="example-contents"><div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB"><?php<br />sort</span><span style="color: #007700">(</span><span style="color: #0000BB">$files</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$files</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span></span></code></div> </div> </div> <p class="para"> Because the value of an <a href="language.types.array.html" class="type array">array</a> can be anything, it can also be another <a href="language.types.array.html" class="type array">array</a>. This enables the creation of recursive and multi-dimensional <a href="language.types.array.html" class="type array">array</a>s. </p> <div class="example"> <p><b>Example #7 Recursive and multi-dimensional arrays</b></p> <div class="example-contents"><div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB"><?php<br />$fruits </span><span style="color: #007700">= array ( </span><span style="color: #DD0000">"fruits" </span><span style="color: #007700">=> array ( </span><span style="color: #DD0000">"a" </span><span style="color: #007700">=> </span><span style="color: #DD0000">"orange"</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">"b" </span><span style="color: #007700">=> </span><span style="color: #DD0000">"banana"</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">"c" </span><span style="color: #007700">=> </span><span style="color: #DD0000">"apple"<br /> </span><span style="color: #007700">),<br /> </span><span style="color: #DD0000">"numbers" </span><span style="color: #007700">=> array ( </span><span style="color: #0000BB">1</span><span style="color: #007700">,<br /> </span><span style="color: #0000BB">2</span><span style="color: #007700">,<br /> </span><span style="color: #0000BB">3</span><span style="color: #007700">,<br /> </span><span style="color: #0000BB">4</span><span style="color: #007700">,<br /> </span><span style="color: #0000BB">5</span><span style="color: #007700">,<br /> </span><span style="color: #0000BB">6<br /> </span><span style="color: #007700">),<br /> </span><span style="color: #DD0000">"holes" </span><span style="color: #007700">=> array ( </span><span style="color: #DD0000">"first"</span><span style="color: #007700">,<br /> </span><span style="color: #0000BB">5 </span><span style="color: #007700">=> </span><span style="color: #DD0000">"second"</span><span style="color: #007700">,<br />  
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -