1 配列構文
配列 array() を定義する
array() 言語構造を使用して、新しい配列を作成できます。カンマで区切られた任意の数のキー => 値のペアを受け入れます。
array( key => value
、、...
)
// キーは整数または文字列です
// 値はどのようなタイプの値でも構いません
$arr = array("foo" => "bar", 12 => true);
echo $arr["foo"] // バー
;
エコー $arr[12] // 1
;
?>
key には整数または文字列を指定できます。 key が整数の標準表現である場合、それは整数として解釈されます (たとえば、「8」は 8 として解釈され、「08」は「08」として解釈されます)。キー内の浮動小数点数は整数に丸められます。 PHP では、インデックス付き配列は連想配列と同じであり、整数と文字列の両方の添字を含めることができます。
値には任意の PHP タイプを指定できます。
$arr = array("somearray" => array(6 => 5, 13 => 9, "a" => 42));
echo $arr["somearray"][6] // 5
;
echo $arr["somearray"][13]; // 9
;
echo $arr["somearray"]["a"] // 42
;
?>
指定された値にキーが指定されていない場合は、現在の最大の整数インデックス値が取得され、新しいキー名はその値に 1 を加えたものになります。指定したキー名にすでに値が設定されている場合、その値は上書きされます。
// この配列は以下の配列と同じです...
array(5 => 43, 32, 56, "b" => 12);
// ...
array(5 => 43, 6 => 32, 7 => 56, "b" => 12);
?>
キー名として TRUE を使用すると、整数 1 がキー名になります。キー名として FALSE を使用すると、整数 0 がキー名になります。キー名として NULL を使用することは、空の文字列を使用することと同じです。空の文字列をキーとして使用すると、空の文字列をキーとして値が作成 (または上書き) されます。これは、空の角括弧を使用する場合とは異なります。
配列やオブジェクトをキーとして使用することはできません。そうすると、「オフセット タイプが不正です」という警告が表示されます。
角かっこ構文を使用して作成/変更します
値を明示的に設定することで、既存の配列を変更できます。
これは、角括弧内にキー名を指定して配列に値を割り当てることで実現されます。キー名を省略することもできます。その場合は、空の角かっこ (「[]」) を変数名に追加します。
$arr[キー] = 値;
$arr[] = 値;
// キーは整数または文字列です
// 値には任意のタイプの値を指定できます。 $arr がまだ存在しない場合は、新しい値が作成されます。これは、配列を定義する別の方法でもあります。値を変更するには、新しい値を割り当てるだけです。キーと値のペアを削除したい場合は、そのペアに対して unset() を使用します。
$arr = 配列(5 => 1, 12 => 2);
$arr[] = 56 // これは $arr[13] = 56;
と同じです。
// スクリプトのこの時点
$arr["x"] = 42 // これにより、新しい要素が
に追加されます。
// キー「x」を持つ配列
unset($arr[5]); // これにより、配列から要素が削除されます
unset($arr); // これにより配列全体が削除されます
?>
注:
前述したように、角括弧が指定されていてもキー名が指定されていない場合は、現在の最大整数インデックス値が取得され、新しいキー名はその値 + 1 になります。現在整数インデックスがない場合、キー名は 0 になります。指定したキー名にすでに値が設定されている場合、その値は上書きされます。
ここで使用される最大の整数キー名は、必ずしも現在の配列に存在するとは限らないことに注意してください。最後に配列のインデックスが再作成されてから存在している必要があります。次の例で説明します:
// 単純な配列を作成します
$array = 配列(1, 2, 3, 4, 5);
print_r($array);
// ここで、配列内のすべての要素を削除しますが、配列自体は変更しないでください:
foreach ($array as $i => $value) {
unset($array[$i]);
}
print_r($array);
// セルを追加します (新しいキーは 0 ではなく 5 であることに注意してください)
$array[] = 6;
print_r($array);
// 再インデックス:
$array = array_values($array);
$array[] = 7;
print_r($array);
?>
上記のルーチンは次のように出力します:
配列
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
配列
(
)
配列
(
[5] => 6
)
配列
(
[0] => 6
[1] => 7
2 配列関数
1. 配列の結合:
配列 array_merge(array1.array2);
2. 配列の最後の要素を削除します。つまり、配列の最後のユニットをポップします
混合 array_pop(array $array);
$array は配列変数でなければなりません
戻り値: 混合: 削除された要素です
3. データを配列の最後にプッシュします
int array_push(array $array ,mixed var[,mixed....])
最初のパラメーター: 配列は配列変数 (参照によって渡される) である必要があります
2 番目のパラメーター: var[,mixed....] は複数の変数を挿入できます
戻り値: int は対応する数値の開始位置です
4. 配列から 1 つ以上の要素をランダムに選択します
混合 array_rand(配列入力 [,int num_req]);
最初のパラメータ: 入力配列
2 番目のパラメーター: num_req は、選択する数値の数を指定します
戻り値:mixed は配列の添字です。num_req>1 の場合、戻り値は以下の表の int 配列になります
5 配列の最初の要素を削除します
混合 array_shift(array $array)
最初のパラメータ: array は配列変数 (参照によって渡される) である必要があります。
戻り値: 混合削除要素値
6 配列内のすべての値の合計を返します
配列内の要素が数値の場合、配列内の要素の合計が返されます。文字列がある場合は、整数に変換されます。
数値 array_sum(配列 配列);
最初のパラメータ: array は配列変数である必要があります;
戻り値: 数値
7 配列に特定の値が存在するかどうかを確認します
bool in_array(混合針、配列干し草 [,bool strict])
見つけるニードル変数
干し草の山の配列
厳密なオプションパラメータ
著者「ITeamsky-Yang Boのテクノロジースペース」