配列の結合・分割

更新:

配列の結合・分割などの処理。

配列
・配列
	$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);
このエントリーをはてなブックマークに追加