ホームページ >バックエンド開発 >PHPチュートリアル >PHP配列入門チュートリアルのまとめ_PHPチュートリアル
这么多的数组函数我们该怎么学习?其实我们只需要清楚,我们需要对数组做哪些操作,然后把这些操作归类,心中就有了大概的印象,然后随着你的实践,这些函数你就很清楚了,在这里提醒大家的是手册要常备!废话不多说,数组函数一般归为以下几类(看到英文别怕哦):
Outputting arrays
Creating arrays
Testing for an array
Locating array elements
Traversing arrays
Determining array size and element uniqueness
Sorting arrays
Merging, slicing, splicing, and dissecting arrays
Outputting arrays
print_r()
不熟悉这个的我就不想多说了!最基本的函数,当然要输出数组也可是使用循环结构输出,不过有这么方便的输出函数干吗不用呢!
Creating arrays
array()
这个函数我也不想说了,这其实只能算语言结构,大家在新建数组的时候都用到过,没用过的我只能说,兄弟,我无语了!
list()
这个函数和上面提到的 array()一样,只是个语言结构,它通过一步操作给一组变量赋值!
具体示例请查看手册!
range();
array range ( mixed low, mixed high[, number step] )
建立一个包含指定范围单元的数组
示例: $arr =range(0, 6);
相当于 $arr =array(0, 1, 2, 3, 4, 5, 6);
一般数据按从低到高排列,如果 low> high,则从高到低排列;
Testing for an array
is_array();
测试变量是否array类型,是则返回true,不是则返回false,很基本,很实用的函数!
Adding and removing array elements
array_push()
int array_push ( array &target_array,mixed var [, mixed ...] )
将一个或多个单元从末尾添加至数组!返回新数组的单元总数!
示例:
<span style="FONT-FAMILY: 新宋体">$states <span style="COLOR: #007700">=array(</span> <span style="COLOR: #0000bb">‘Ohio'</span> <span style="COLOR: #007700">, </span><span style="COLOR: #0000bb">‘New York'</span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">);<br></span><span style="COLOR: #0000bb">array_push</span> <span style="COLOR: #007700">(</span> <span style="COLOR: #0000bb">$states</span> <span style="COLOR: #007700">, </span><span style="COLOR: #0000bb">‘California'</span> <span style="COLOR: #007700">,</span> <span style="COLOR: #0000bb">‘Texas'</span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">);<br></span><span style="COLOR: #ff8000">//output: array((‘Ohio',‘New York' , ‘California',‘Texas');</span> <br><br></span>
array_pop();
弹出并返回数组的最后一个单元,并将数组长度减一。使用后会重置数组指针!
示例:
<span style="FONT-FAMILY: 新宋体">$states <span style="COLOR: #007700">=array(</span> <span style="COLOR: #0000bb">‘Ohio'</span> <span style="COLOR: #007700">, </span><span style="COLOR: #0000bb">‘New York'</span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">);<br></span><span style="COLOR: #0000bb">$state </span><span style="COLOR: #007700">= </span><span style="COLOR: #0000bb">array_pop</span> <span style="COLOR: #007700">(</span> <span style="COLOR: #0000bb">$states</span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">);<br></span><span style="COLOR: #ff8000">//output: New York</span> <br><br></span>
array_shift();
は、シフトアウトして配列の最初の値を返す点を除いて、array_pop と似ています。数値キー名は再び 0 から数え始めますが、テキスト キー名は変更されません。
array_unshift();
は、配列の先頭からデータを挿入することを除いて、array_push に似ています。数値キー名は再び 0 から数え始めますが、テキスト キー名は変更されません。
array_pad(); array
array_pad ( array input, intpad_size,mixed Pad_value )
値を指定した長さに配列をパリングします!pad_size が正の場合は、右から埋めます。負の場合は左から埋め始め、配列の長さより短い場合は配列を変更しないでください。例についてはマニュアルを参照してください。
配列要素の検索
in_array();
配列に特定の値が存在するかどうかを確認します。基本的なことですが、詳細については説明しません。詳しくはマニュアルを参照してください。
array_keys(); array
array_keys ( array input [,mixed search_value [, bool strict]] )
配列内のすべてのキー名を返します。 search_value が選択されている場合、選択されたキー名が返されます。 PHP 5] 以降では、strict パラメーターを使用して一致比較 ( ===) を実行できます。
array_key_exists(); bool array_key_exists
(混合キー、配列検索) 指定されたキー名またはインデックスが配列内に存在するかどうかを確認し、存在する場合は true を返します。より具体的なアプリケーションについては、必ずマニュアルを確認してください。
array_values(); array array_values
( array input ) は array_keys() に似ています!返されるのは配列のすべてのキー値です。
array_search(); mixed array_search
(mixed needle,array haystack [, bool strict] )haystack内のneedleパラメータを検索し、見つかった場合はキー名を返し、見つからなかった場合はキー名を返します
誤り。 needle が文字列の場合、比較では大文字と小文字が区別されます。
strict が true の場合、型を比較する必要があります
干し草の山に針が複数回出現する場合、最初に一致したキーが返されます。値に一致するすべてのキーを返すには、代わりに array_keys() をオプションのパラメーター search_value とともに使用する必要があります。
配列の走査
key();
mixed key
(array &array) 配列内の現在のユニットのキー名を返します。
reset(); 配列のポインタをリセットします。
each(); 配列内の現在のセルのキー
/ 値のペアを返し、ポインタを 1 ビット下に移動します。
current(); ポインタを移動せずに、内部ポインタが現在指している配列ユニットの値を返します。セルリストの末尾を超えた場合は、
falseを返します。
end();
arrayの内部ポインタを最後の要素に移動し、その値を返します。
next();
返回数组内部指针指向的下一个单元的值,或当没有更多单元时返回 FALSE 。
prev();
返回数组内部指针指向的前一个单元的值,或当没有更多单元时返回 FALSE 。
array_walk();
bool array_walk ( array &array,callback funcname [, mixed userdata] )
具体描述请参考手册!
示例:
array_reverse();
array array_reverse ( array array [,bool preserve_keys] )
接受数组 array作为输入并返回一个单元为相反顺序的新数组,如果 preserve_keys为 TRUE 则保留原来的键名。
示例:
<span style="FONT-FAMILY: 新宋体">$states <span style="COLOR: #007700">=array(</span> <span style="COLOR: #0000bb">‘Delaware'</span> <span style="COLOR: #007700">, </span><span style="COLOR: #0000bb">‘Pennsylvania'</span> <span style="COLOR: #007700">,</span> <span style="COLOR: #0000bb">‘New Jersey'</span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">);<br></span><span style="COLOR: #0000bb">print_r</span> <span style="COLOR: #007700">(</span> <span style="COLOR: #0000bb">array_reverse</span> <span style="COLOR: #007700">(</span> <span style="COLOR: #0000bb">$states</span> </span><span style="COLOR: #007700"><span style="FONT-FAMILY: 新宋体"><font color="#007700">));<br></font></span></span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #ff8000">//Array ([0]=>New Jersey [1]=>Pennsylvania[2]=>Delaware)<br></span><span style="COLOR: #0000bb">$states </span><span style="COLOR: #007700">= array(</span> <span style="COLOR: #0000bb">‘Delaware'</span> <span style="COLOR: #007700">, </span><span style="COLOR: #0000bb">‘Pennsylvania'</span> <span style="COLOR: #007700">, </span><span style="COLOR: #0000bb">‘New Jersey'</span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">);<br></span><span style="COLOR: #0000bb">print_r</span> <span style="COLOR: #007700">(</span> <span style="COLOR: #0000bb">array_reverse</span> <span style="COLOR: #007700">(</span> <span style="COLOR: #0000bb">$states</span> <span style="COLOR: #007700">, </span><span style="COLOR: #0000bb">1</span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">));<br></span><span style="COLOR: #ff8000">//Array ([2]=>New Jersey [1]=>Pennsylvania[0]=>Delaware)</span> <br><br></span>
array_flip();
array array_flip ( array trans )
交换数组中的键 /值对,注意 trans 中的值需要能够作为合法的键名,例如需要是 integer 或者 string 。如果值的类型不对将发出一个警告,并且有问题的键/值对将不会反转。
如果同一个值出现了多次,则最后一个键名将作为它的值,所有其它的都丢失了。
示例:
<span style="FONT-FAMILY: 新宋体">$trans <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">1</span> <span style="COLOR: #007700">, </span><span style="COLOR: #dd0000">"c" </span><span style="COLOR: #007700">=> </span><span style="COLOR: #0000bb">2</span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">);<br></span><span style="COLOR: #0000bb">$trans </span><span style="COLOR: #007700">= </span><span style="COLOR: #0000bb">array_flip</span> <span style="COLOR: #007700">(</span> <span style="COLOR: #0000bb">$trans</span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">);<br></span><span style="COLOR: #0000bb">print_r</span> <span style="COLOR: #007700">(</span> <span style="COLOR: #0000bb">$trans</span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">);<br></span><span style="COLOR: #ff8000">//Array([1]=>b[2]=>c );</span> <br><br></span>
Determining array size and element uniqueness
count();
计算数组中的单元数目或对象中的属性个数,很基本哦!
array_count_values();
返回一个数组,该数组用input数组中的值作为键名,该值在input数组中出现的次数作为值。
示例:
<span style="FONT-FAMILY: 新宋体">$array<span style="COLOR: #007700">= array(</span> <span style="COLOR: #0000bb">1</span> <span style="COLOR: #007700">, </span><span style="COLOR: #dd0000">"hello"</span> <span style="COLOR: #007700">, </span><span style="COLOR: #0000bb">1</span> <span style="COLOR: #007700">, </span><span style="COLOR: #dd0000">"world"</span> <span style="COLOR: #007700">, </span><span style="COLOR: #dd0000">"hello"</span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">);<br></span><span style="COLOR: #0000bb">print_r</span> <span style="COLOR: #007700">(</span> <span style="COLOR: #0000bb">array_count_values </span><span style="COLOR: #007700">(</span> <span style="COLOR: #0000bb">$array</span> <span style="COLOR: #007700">));</span> <br><br></span>
array_unique();
array array_unique ( array array )
接受 array作为输入并返回没有重复值的新数组。
示例:
<span style="FONT-FAMILY: 新宋体">$input <span style="COLOR: #007700">=array(</span> <span style="COLOR: #dd0000">"a" </span><span style="COLOR: #007700">=> </span><span style="COLOR: #dd0000">"green"</span> <span style="COLOR: #007700">, </span><span style="COLOR: #dd0000">"red"</span> <span style="COLOR: #007700">, </span><span style="COLOR: #dd0000">"b"</span> <span style="COLOR: #007700">=> </span><span style="COLOR: #dd0000">"green"</span> <span style="COLOR: #007700">, </span><span style="COLOR: #dd0000">"blue"</span> <span style="COLOR: #007700">, </span><span style="COLOR: #dd0000">"red"</span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">);<br></span><span style="COLOR: #0000bb">$result </span><span style="COLOR: #007700">= </span><span style="COLOR: #0000bb">array_unique</span> <span style="COLOR: #007700">(</span> <span style="COLOR: #0000bb">$input</span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">);<br></span><span style="COLOR: #0000bb">print_r</span> <span style="COLOR: #007700">(</span> <span style="COLOR: #0000bb">$result</span> <span style="COLOR: #007700">);</span> <br><br></span>
详细用法请参见手册!
Sorting arrays
sort();
本函数对数组进行排序。当本函数结束时数组单元将被从最低到最高重新安排。
注意 : 本函数为array中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。
natsort();
利用自然排序法对数组进行排序!
示例:
<span style="FONT-FAMILY: 新宋体">$array1 <span style="COLOR: #007700">=</span> <span style="COLOR: #0000bb">$array2 </span><span style="COLOR: #007700">= array(</span> <span style="COLOR: #dd0000">"img12.png"</span> <span style="COLOR: #007700">, </span><span style="COLOR: #dd0000">"img10.png"</span> <span style="COLOR: #007700">,</span> <span style="COLOR: #dd0000">"img2.png"</span> <span style="COLOR: #007700">, </span><span style="COLOR: #dd0000">"img1.png"</span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">);<br></span><span style="COLOR: #0000bb">sort</span> <span style="COLOR: #007700">(</span> <span style="COLOR: #0000bb">$array1</span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">);<br>echo </span><span style="COLOR: #dd0000">"Standard sorting\n"</span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">;<br></span><span style="COLOR: #0000bb">print_r</span> <span style="COLOR: #007700">(</span> <span style="COLOR: #0000bb">$array1</span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">);<br><br></span><span style="COLOR: #0000bb">natsort</span> <span style="COLOR: #007700">(</span> <span style="COLOR: #0000bb">$array2</span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">);<br>echo </span><span style="COLOR: #dd0000">"\nNatural order sorting\n"</span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">;<br></span><span style="COLOR: #0000bb">print_r</span> <span style="COLOR: #007700">(</span> <span style="COLOR: #0000bb">$array2</span> <span style="COLOR: #007700">);</span> <br><br></span>
natcasesort();
与 natsort()一致,除了不区分大小写!
rsort();
与 sort()一致,这个是逆向排序。
asort();
与 sort()一直,但保持键名不变。
array_multisort();
对多个数组或多维数组进行排序,具体参考手册,有详细说明!
arsort();
与 rsort()类似,但保持键名不变。
ksort();
与 sort()类似,对键名进行排序。
krsort();
与 ksort()类似,但是逆向排序。
usort();
利用用户自定义函数对数组进行排序!
Merging, slicing, splicing, and dissectingarrays
array_combine();
array array_combine ( array keys,array values )
创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值
array_merge();
array array_merge ( array array1 [,array array2 [, array ...]] )
将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。
然而,如果数组包含数字键名,后面的值将不会 覆盖原来的值,而是附加到后面。
示例:
<span style="FONT-FAMILY: 新宋体">$array1 <span style="COLOR: #007700">=array(</span> <span style="COLOR: #dd0000">"color" </span><span style="COLOR: #007700">=> </span><span style="COLOR: #dd0000">"red"</span> <span style="COLOR: #007700">, </span><span style="COLOR: #0000bb">2</span> <span style="COLOR: #007700">, </span><span style="COLOR: #0000bb">4</span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">);<br></span><span style="COLOR: #0000bb">$array2 </span><span style="COLOR: #007700">= array(</span> <span style="COLOR: #dd0000">"a"</span> <span style="COLOR: #007700">, </span><span style="COLOR: #dd0000">"b"</span> <span style="COLOR: #007700">, </span><span style="COLOR: #dd0000">"color" </span><span style="COLOR: #007700">=></span> <span style="COLOR: #dd0000">"green"</span> <span style="COLOR: #007700">, </span><span style="COLOR: #dd0000">"shape" </span><span style="COLOR: #007700">=> </span><span style="COLOR: #dd0000">"trapezoid"</span> <span style="COLOR: #007700">, </span><span style="COLOR: #0000bb">4</span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">);<br></span><span style="COLOR: #0000bb">$result </span><span style="COLOR: #007700">= </span><span style="COLOR: #0000bb">array_merge</span> <span style="COLOR: #007700">(</span> <span style="COLOR: #0000bb">$array1</span> <span style="COLOR: #007700">, </span><span style="COLOR: #0000bb">$array2</span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">);<br></span><span style="COLOR: #0000bb">print_r</span> <span style="COLOR: #007700">(</span> <span style="COLOR: #0000bb">$result</span> <span style="COLOR: #007700">);</span> <br><br></span>
如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。
<span style="FONT-FAMILY: 新宋体">$array1 </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">= array();<br></span><span style="COLOR: #0000bb">$array2 </span><span style="COLOR: #007700">= array(</span> <span style="COLOR: #0000bb">1 </span><span style="COLOR: #007700">=> </span><span style="COLOR: #dd0000">"data"</span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">);<br></span><span style="COLOR: #0000bb">$result </span><span style="COLOR: #007700">= </span><span style="COLOR: #0000bb">array_merge</span> <span style="COLOR: #007700">(</span> <span style="COLOR: #0000bb">$array1</span> <span style="COLOR: #007700">, </span><span style="COLOR: #0000bb">$array2</span> <span style="COLOR: #007700">);</span> <br><br></span>
如果你想完全保留原有数组并只想新的数组附加到后面,用+运算符:
<span style="FONT-FAMILY: 新宋体">$array1 </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">= array();<br></span><span style="COLOR: #0000bb">$array2 </span><span style="COLOR: #007700">= array(</span> <span style="COLOR: #0000bb">1 </span><span style="COLOR: #007700">=> </span><span style="COLOR: #dd0000">"data"</span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">);<br></span><span style="COLOR: #0000bb">$result </span><span style="COLOR: #007700">= </span><span style="COLOR: #0000bb">$array1 </span><span style="COLOR: #007700">+ </span><span style="COLOR: #0000bb">$array2</span> <span style="COLOR: #007700">;</span> <br><br></span>
array_merge_recursive();
array array_merge_recursive ( arrayarray1 [, array ...] )
将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
如果输入的数组中有相同的字符串键名,则这些值会被合并到一个数组中去,这将递归下去,因此如果一个值本身是一个数组,本函数将按照相应的条目把它合并为另一个数组。然而,如果数组具有相同的数组键名,后一个值将不会覆盖原来的值,而是附加到后面。
<span style="FONT-FAMILY: 新宋体">$ar1 <span style="COLOR: #007700">= array(</span> <span style="COLOR: #dd0000">"color" </span><span style="COLOR: #007700">=>array(</span> <span style="COLOR: #dd0000">"favorite" </span><span style="COLOR: #007700">=> </span><span style="COLOR: #dd0000">"red"</span> <span style="COLOR: #007700">), </span><span style="COLOR: #0000bb">5</span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">);<br></span><span style="COLOR: #0000bb">$ar2 </span><span style="COLOR: #007700">= array(</span> <span style="COLOR: #0000bb">10</span> <span style="COLOR: #007700">, </span><span style="COLOR: #dd0000">"color" </span><span style="COLOR: #007700">=> array(</span> <span style="COLOR: #dd0000">"favorite" </span><span style="COLOR: #007700">=></span> <span style="COLOR: #dd0000">"green"</span> <span style="COLOR: #007700">, </span><span style="COLOR: #dd0000">"blue"</span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">));<br></span><span style="COLOR: #0000bb">$result </span><span style="COLOR: #007700">= </span><span style="COLOR: #0000bb">array_merge_recursive</span> <span style="COLOR: #007700">(</span> <span style="COLOR: #0000bb">$ar1</span> <span style="COLOR: #007700">, </span><span style="COLOR: #0000bb">$ar2</span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">);<br></span><span style="COLOR: #0000bb">print_r</span> <span style="COLOR: #007700">(</span> <span style="COLOR: #0000bb">$result</span> <span style="COLOR: #007700">);</span> <br><br></span>
更详细的使用请参加手册!
array_slice();
array array_slice ( array array, intoffset [, int length [, bool preserve_keys]] )
从数组中取出一段。
如果offset非负,则序列将从array中的此偏移量开始。如果offset为负,则序列将从array中距离末端这么远的地方开始。
如果给出了length并且为正,则序列中将具有这么多的单元。如果给出了length并且为负,则序列将终止在距离数组末端这么远的地方。如果省略,则序列将从offset开始一直到array的末端。
示例:
<span style="FONT-FAMILY: 新宋体">$input <span style="COLOR: #007700">= array(</span> <span style="COLOR: #dd0000">"a"</span> <span style="COLOR: #007700">,</span> <span style="COLOR: #dd0000">"b"</span> <span style="COLOR: #007700">, </span><span style="COLOR: #dd0000">"c"</span> <span style="COLOR: #007700">, </span><span style="COLOR: #dd0000">"d"</span> <span style="COLOR: #007700">, </span><span style="COLOR: #dd0000">"e"</span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">);<br></span><span style="COLOR: #0000bb">$output </span><span style="COLOR: #007700">= </span><span style="COLOR: #0000bb">array_slice</span> <span style="COLOR: #007700">(</span> <span style="COLOR: #0000bb">$input</span> <span style="COLOR: #007700">, </span><span style="COLOR: #0000bb">2</span> <span style="COLOR: #007700">); </span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #ff8000">// returns"c", "d", and "e"<br></span><span style="COLOR: #0000bb">$output </span><span style="COLOR: #007700">= </span><span style="COLOR: #0000bb">array_slice</span> <span style="COLOR: #007700">(</span> <span style="COLOR: #0000bb">$input</span> <span style="COLOR: #007700">, -</span> <span style="COLOR: #0000bb">2</span> <span style="COLOR: #007700">, </span><span style="COLOR: #0000bb">1</span> <span style="COLOR: #007700">); </span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #ff8000">// returns "d"<br></span><span style="COLOR: #0000bb">$output </span><span style="COLOR: #007700">= </span><span style="COLOR: #0000bb">array_slice</span> <span style="COLOR: #007700">(</span> <span style="COLOR: #0000bb">$input</span> <span style="COLOR: #007700">, </span><span style="COLOR: #0000bb">0</span> <span style="COLOR: #007700">, </span><span style="COLOR: #0000bb">3</span> <span style="COLOR: #007700">); </span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #ff8000">// returns "a","b", and "c"<br>// note the differences in the array keys<br></span><span style="COLOR: #0000bb">print_r</span> <span style="COLOR: #007700">(</span> <span style="COLOR: #0000bb">array_slice</span> <span style="COLOR: #007700">(</span> <span style="COLOR: #0000bb">$input</span> <span style="COLOR: #007700">, </span><span style="COLOR: #0000bb">2</span> <span style="COLOR: #007700">, -</span> <span style="COLOR: #0000bb">1</span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">));<br></span><span style="COLOR: #0000bb">print_r</span> <span style="COLOR: #007700">(</span> <span style="COLOR: #0000bb">array_slice</span> <span style="COLOR: #007700">(</span> <span style="COLOR: #0000bb">$input</span> <span style="COLOR: #007700">, </span><span style="COLOR: #0000bb">2</span> <span style="COLOR: #007700">, -</span> <span style="COLOR: #0000bb">1</span> <span style="COLOR: #007700">, </span><span style="COLOR: #0000bb">true</span> <span style="COLOR: #007700">));</span> <br><br></span>
array_splice();
array array_splice ( array&input, int offset [, int length [, array replacement]] )
把input数组中由offset和length指定的单元去掉,如果提供了replacement参数,则用replacement数组中的单元取代。返回一个包含有被移除单元的数组。注意input中的数字键名不被保留。
如果offset非负,则序列将从array中的此偏移量开始。如果offset为负,则序列将从array中距离末端这么远的地方开始。
如果给出了length并且为正,则序列中将具有这么多的单元。如果给出了length并且为负,则序列将终止在距离数组末端这么远的地方。如果省略,则序列将从offset开始一直到array的末端。
具体应用参见手册!
array_intersect();
array array_intersect ( arrayarray1, array array2 [, array ...] )
返回一个数组,该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值。注意键名保留不变。
示例:
<span style="FONT-FAMILY: 新宋体">$array1 <span style="COLOR: #007700">=array(</span> <span style="COLOR: #dd0000">"a" </span><span style="COLOR: #007700">=> </span><span style="COLOR: #dd0000">"green"</span> <span style="COLOR: #007700">, </span><span style="COLOR: #dd0000">"red"</span> <span style="COLOR: #007700">,</span> <span style="COLOR: #dd0000">"blue"</span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">);<br></span><span style="COLOR: #0000bb">$array2 </span><span style="COLOR: #007700">= array(</span> <span style="COLOR: #dd0000">"b" </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">,</span> <span style="COLOR: #dd0000">"red"</span> </span><span style="FONT-FAMILY: 新宋体"><span style="COLOR: #007700">);<br></span><span style="COLOR: #0000bb">$result </span><span style="COLOR: #007700">= </span><span style="COLOR: #0000bb">array_intersect</span> <span style="COLOR: #007700">(</span> <span style="COLOR: #0000bb">$array1</span> <span style="COLOR: #007700">, </span><span style="COLOR: #0000bb">$array2</span> <span style="COLOR: #007700">);</span> <br><br></span>
array_intersect_assoc();
array_intersect() との違いは、キー名も比較に使用されることです。
array_diff();
は、配列の差分を計算する点を除いて、 array_intersect()
array_diff_assoc(); に似ています。
と array_intersect_assoc ()配列の差分を計算する点を除けば同様です
その他の便利な配列関数
array_rand();
mixed array_rand ( array input [,int num_req] )
配列から 1 つ以上のセルをランダムに削除します。
shuffle();
bool shuffle ( array &array )
この関数は、配列をシャッフル (セルの順序をランダムに並べ替え) します。
この関数は、配列内のセルに新しいキー名を割り当てます。これにより、元のキーが単に並べ替えられるのではなく、削除されます。
array_sum();
配列内のすべての値の合計を整数または浮動小数点の結果として返します。
array_chunk();
array array_chunk ( array input, intsize [, bool prepare_keys] )
配列を複数の配列に分割します。各配列内のセルの数はサイズによって決まります。 。最後の配列には要素が少し少ない場合があります。結果の配列は、インデックスが 0 から始まる多次元配列のセルになります。
PHP が元のキー名を入力配列に保持できるようにするには、オプションのパラメーターpreserve_keys を TRUE に設定します。 FALSE を指定すると、各結果配列には 0 から始まる新しい番号でインデックスが付けられます。デフォルト値はFALSEです