第5章 配列その2
教科書「プログラミングPHP 第2版」
上級試験は、オライリーから出版されているプログラミングPHP 第2版を教科書に出題されます。
配列と変数
- extractで連想配列から変数を生成する(EXTR_PREFIX_ALLオプションを推奨)
- compactで変数を配列にする
要素毎の処理
- foreach(配列名 as $value)ここで$valueは配列内で使用する
- foreach(配列名 as $key => $value)ここで$key, $valueは配列内で使用する
- イテレータを使用するとメモリの節約等のメリットがあることも
- array_walkで、各要素にユーザー定義関数を実行
検索
- in_arrayを用いると高速
- in_arrayはtrue/falseを返すが、array_searchはキーを返す
ソート
- 単純なソート、sort,rsort,usort
- 添字を維持してソート、asort,arsort,uasort
- キーでソート、ksort,krsort,uksort
- SORT_NUMERICかSORT_STRINGを指定しておく
- 自然順ソート、natsort, natcasesort
- 複数の配列を一度にソート、あるいは多次元配列のソート、array_multisort
並べ替え
- 順序を逆にするarray_reverse(キーが数字の場合は再割当)
- キーと値を入れ替えるarray_flip
- ランダムに並べ替えるshuffle。randで乱数生成してindex取得のほうが効率が良い
操作
- 各要素の合計値を出力するarray_sum
- 複数の配列を一つにするarray_merge。同じ添字があると、後ろの要素で上書き。
- 差分(一つ目の配列にのみあるものを抽出)array_diff
- ユーザー定義関数で絞り込むarray_filter。キーは保存される
- union(和集合)は、array_mergeした後、array_union
- intersection(積集合)は、array_intersect
- difference(差集合)は、array_diff
スタック
- 末尾に要素を追加するarray_push。末尾の要素を取得して取り除くarray_pop
- 先頭に要素を追加するarray_unshift。先頭の要素を取得して取り除くarray_shift
- array_pop,array_shiftは配列ポインタをリセットする
※原書を元にしています。日本語訳本とは用語等が異なる可能性があります。
Copyright (C) 2003-2018. PHP で WEB 作成 All rights reserved.