配列の結合・分割
作成:2006-04-20、更新:2008-12-08
配列の結合・分割などの処理。
配列
・配列
$sample_array = array("a", "b");
print $sample_array[0];
print $sample_array[1];
・連想配列、ハッシュ
$sample_hash = array("a"=>"test1", "b"=>"test2");
print $sample_hash["a"];
print $sample_hash["b"];
配列に分割、配列を結合
・配列に分解
・explode(分解に使う文字, 文字列)
$str_array = explode(",", $str);
・split(分解に使う文字・正規表現可能, 文字列)
$str_array = split("/", $str);
・配列を結合
・implode(各配列の間に入れる文字, 配列)
$str = implode(",", $str_array);
・join(各配列の間に入れる文字, 配列)
$str = join("|", $str_array);
配列の追加、削除
・末尾を削除
戻り値は、末尾の要素
array_pop($sample_array);
・末尾に追加
戻り値は、追加後の要素数
複数の配列を追加可能
array_push($sample_array, "test3");
array_push($sample_array, "test3", "test4");
・先頭を削除
戻り値は、末尾の要素
array_shift($sample_array);
・先頭に追加
戻り値は、追加後の要素数
複数の配列を追加可能
array_unshift($sample_array, "test3");
array_unshift($sample_array, "test3", "test4");
配列を抽出、置換、削除
・要素を抽出
array_splice(配列, 抽出開始位置, 抽出個数)
個数は省略可能
$sample_array_0 = array_splice($sample_array, 0, 1);
・要素を置換
array_splice(配列, 置換開始位置, 置換個数, 新要素)
個数、新要素は省略可能
・置換
array_splice($sample_array, 1, 2, array("test3", "test4"));
・削除(新要素を指定しないと削除になる)
array_splice($sample_array, 1, 2);
・配列を空にする(すべての配列を削除)
$sample_array = array();
・配列・変数を破棄する
unset $sample_array;
配列同士の結合
・結合
array_merge(配列1, 配列2, 配列3, ・・・・)
$sample_array_all = array_merge($sample_array1, $sample_array2);
配列かどうかの判別
配列ならtrue
if(is_array($sample_array)){
}
配列数のカウント
配列の個数を返す
空の場合0を返す
$i = count($array);
$j = count($_POST);
配列に格納されている値の表示
・キーで取り出す
$sample_array = array("a"=>"test1", "b"=>"test2");
print $sample_array["a"];
・キーと値の対を取り出す
$sample_array = array("a"=>"test1", "b"=>"test2");
foreach($sample_array as $key => $value){
print $key . " / " . $value . "\n";
}
・フォームから送信されたデータ(配列)を取得
foreach($_POST as $key => $value){
print $key . " / " . $value . "\n";
}
・全部取り出す(確認)
$key = array_keys($rc);
foreach($key as $value){
print $value;
}
配列のダンプ(配列の内容を確認する)
$rc = array("a"=>"test1", "b"=>"test2");
print_r($rc);
または
var_dump($rc);
配列のソート
・配列の値でソート
sort($sample_array, SORT_REGULAR);//昇順
rsort($sample_array, SORT_REGULAR);//降順
・配列のキーでソート
ksort($sample_array, SORT_NUMERIC);//昇順
krsort($sample_array, SORT_NUMERIC);//降順
・ハッシュの関係を保ったまま値でソート
asort($sample_array, SORT_STRING);//昇順
arsort($sample_array, SORT_STRING);//降順
・ソートオプション
・上記ソートは、以下のオプションを指定できる。何も指定しなくても良い。
SORT_REGULAR
SORT_NUMERIC
SORT_STRING
・natsort(値がソートされる)
sample1、sample10、sample2がsample1、sample2、sample10というようにソートできる
natcasesortは、大文字小文字の区別をしない
natsort($sample_array);
natcasesort($sample_array);