ホームページ >バックエンド開発 >PHPチュートリアル >PHPの二次元配列の使い方_PHPチュートリアル
PHP はまだ比較的一般的に使用されているため、PHP の 2 次元配列を研究し、ここで共有しました。PHP を使用して配列から値を削除するには、ビルドされた PHP を使用できます。 -in function array_slice() ですが、この関数は 1 次元配列のみをサポートしています。具体的な使用方法については、PHP マニュアルを参照してください。array_slice 関数は 2 次元配列をサポートしていません。まず、array_slice 関数を見てみましょう:
<ol class="dp-xml"><li class="alt"><span><span>array array_slice ( array array, int offset [, int length [, bool preserve_keys]] ) array_slice() </span></span></li></ol>
offset パラメーターと length パラメーターで指定された配列 array 内のシーケンスを返します。
例: 1次元配列から値のセグメントを取得します
<ol class="dp-xml"><li class="alt"> <span><strong><font color="#006699"><span class="tag"><?</SPAN><SPAN class=tag-name>php</SPAN></FONT></STRONG><SPAN> $</SPAN><SPAN class=attribute><FONT color=#ff0000>array</FONT></SPAN><SPAN class=attribute-value><FONT color=#0000ff>array</FONT></SPAN><SPAN> = array('b','i','u','u','u'); $</SPAN><SPAN class=attribute><FONT color=#ff0000>result</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>array_slice</FONT></SPAN><SPAN>($array,0,4); print_r($result); </SPAN><SPAN class=tag><STRONG><FONT color=#006699>?></span></font></strong></span><span> </span> </li></ol>
例は、配列 $array から開始配列添字 0 から開始して 4 つの値を抽出します。結果は次のようになります。一次元配列から値のセグメントを抽出するには、組み込み関数 array_slice を使用するだけです。 PHP の 2 次元配列の値も array_slice 関数を使用する必要があります。 2 次元配列データの例は次のとおりです。
<ol class="dp-xml"> <li class="alt"><span><span>$</span><span class="attribute"><font color="#ff0000">array</font></span><span class="attribute-value"><font color="#0000ff">array</font></span><span> = array (); </span></span></li> <li class=""> <span>$array [1] = array ('1' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'b1', '2' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'i1', '3' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'u1', '4' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'u1', '5' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'u1' );<br>$array [2] = array ('1' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'b2', '2' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'i2', '3' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'u2', '4' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'u2', '5' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'u2' ); <br>$array [3] = array ('1' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'b3', '2' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'i3', '3' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'u3', '4' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'u3', '5' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'u3' );<br>$array [4] = array ('1' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'b4', '2' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'i4', '3' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'u4', '4' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'u4', '5' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'u4' ); <br>$array [5] = array ('1' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'b5', '2' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'i5', '3' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'u5', '4' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'u5', '5' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'u5' ); <br>$array [6] = array ('1' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'b6', '2' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'i6', '3' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'u6', '4' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'u6', '5' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'u6' ); <br>$array [7] = array ('1' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'b7', '2' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'i7', '3' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'u7', '4' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'u7', '5' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'u7' ); </span> </li> </ol>
上記の 2 次元配列のように、特定のセグメントを削除する必要がある場合は、次のようにする必要があります。アプリケーションの特殊性は、最初の配列からのみ開始して、この 2 次元配列から必要な数の配列を抽出することを考慮して、配列内のセグメントの開始位置と終了位置を把握していることです。メソッドは次のとおりです:
<ol class="dp-xml"> <li class="alt"><span><span>function array_silice_func(array $array, $limit) </span></span></li> <li class=""> <span>{ $</span><span class="attribute"><font color="#ff0000">k</font></span><span> = $</span><span class="attribute"><font color="#ff0000">count</font></span><span> = </span><span class="attribute-value"><font color="#0000ff">0</font></span><span>; $</span><span class="attribute"><font color="#ff0000">temp</font></span><span> = </span><span class="attribute-value"><font color="#0000ff">array</font></span><span> (); </span> </li> <li class="alt"> <span> foreach ( $array as $</span><span class="attribute"><font color="#ff0000">key</font></span><span> =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> $value ) </span> </li> <li class=""> <span>{ $</span><span class="attribute"><font color="#ff0000">count</font></span><span class="attribute-value"><font color="#0000ff">count</font></span><span> = count ( $value ); </span> </li> <li class="alt"> <span>if ($count + $k </span><span class="tag"><strong><font color="#006699">></font></strong></span><span>= $limit) </span> </li> <li class=""> <span>{ $</span><span class="attribute"><font color="#ff0000">t</font></span><span> = </span><span class="attribute-value"><font color="#0000ff">array_slice</font></span><span> ( $value, 0, $limit - $k ); </span> </li> <li class="alt"><span>$temp [$key] = $t; break; } </span></li> <li class=""><span>$temp [$key] = $value; $k += $count; } return $temp; } </span></li> </ol>