PHP4.0 には、30 を超える配列関連の新しい関数が追加されています。これらの一般的な関数の多くを使用すると、特定のオブジェクトが指定された配列に存在するかどうかを確認したり、配列要素をカウントしたり、要素を追加または削除したり、要素を並べ替えたりすることができます。
大きな配列があり、特定の値の存在を検出することだけを実行したい場合は、 in_array() を使用して true または false を返すことができます。次のコードは、「この配列には見つかりません」と出力します。これは、$namesArray に存在しない「Alber」を探すことになるためです。 $namesArray = array("ジョー"、"ジェーン"、"ボブ"、"メアリー"、"ポール"、"エディ"、"ジョン");
$ LookingFor = "アルバート";
if (in_array($lookFor, $namesArray)) {
echo "見つけました!";
} それ以外 {
echo "この配列には見つかりません!";
}
?>
$lookingFor の値を "Mary" に変更すると、"You've found it!" というメッセージが表示されます。これは、"Mary" が $namesArray の一部であるためです。
配列要素をカウントしたい場合は、 count() 関数を使用できます。
$namesArray = array("ジョー"、"ジェーン"、"ボブ"、"メアリー"、"ポール"、"エディ"、"ジョン");
$count = count($namesArray) ?>
$count の値は 7 になります。
要素は、既存の配列の先頭または末尾に任意の配列に追加できます。関数を使用して、2 つ以上の配列要素を含む新しい配列を作成することもできます。マージすると、各配列は希望の順序になります。配列にすでに内部ソートが設定されている場合は、新しく結合された配列の順序を変更する必要があります。
まず、array_push() 関数を使用して、既存の配列の末尾に要素を追加します。
/* 元の配列を作成します */
$fruitArray = array("リンゴ", "オレンジ", "バナナ", "キウイ", "梨");
/* 元の配列に追加 */
array_push($fruitArray, "ブドウ", "パイナップル", "トマト");
/* 各要素をキー値ごとにリストします */
while (list($key,$value) = each($fruitArray)) {
echo "$key : $value
";
}
?>
これにより、次のことが表示されます。
0: リンゴ
1:オレンジ
2:バナナ
3:キウイ
4:梨
5:ぶどう
6:パイナップル
7:トマト
配列の先頭に要素を追加する必要がある場合のコードは非常に似ています。唯一の違いは関数名です。array_push() ではなく array_unshift() です。
/* 元の配列を作成します */
$fruitArray = array("リンゴ", "オレンジ", "バナナ", "キウイ", "梨");
/* 元の配列に追加 */
array_unshift($fruitArray, "ブドウ", "パイナップル", "トマト");
/* 各要素をキー値ごとにリストします */
while (list($key,$value) = each($fruitArray)) {
echo "$key : $value
";
}
?>
これにより、次のことが表示されます。
0: ブドウ
1:パイナップル
2:トマト
3:リンゴ
4:オレンジ
5:バナナ
6:キウイ
7:梨
関数 array_merge() は、2 つ以上の配列をマージします。
/* 元の配列を作成します */
$fruitArray = array("リンゴ", "オレンジ", "バナナ", "キウイ", "梨");
/* 2 番目の配列を作成します */
$vegArray = array("ニンジン", "インゲン", "アスパラガス", "アーティチョーク", "トウモロコシ");
/* 配列に結合します */
$goodfoodArray = array_merge($fruitArray, $vegArray);
/* 各要素をキー値ごとにリストします */
while (list($key,$value) = each($goodfoodArray)) {
echo "$key : $value
";
}
?>
これにより、次のことが表示されます。
0: リンゴ
1:オレンジ
2:バナナ
3:キウイ
4:梨
5:にんじん
6:インゲン
7:アスパラガス
8:アーティチョーク
9:トウモロコシ
要素を追加して配列を結合したので、要素の削除関数を練習してみましょう。関数 array_pop() を使用すると、配列の末尾から要素を削除できます。 array_shift() 関数を使用すると、配列の先頭から要素が削除されます。実際、配列から要素を削除しても、既存の配列から要素をポップまたはシフトすると、その要素は引き続き使用できます。
array_pop() 関数を使用して、配列の末尾から値を削除します。
/*配列を作成します*/
$fruitArray = array("リンゴ", "オレンジ", "バナナ", "キウイ", "梨");
/* 最後に値をポップします */
$popped = array_pop($fruitArray);
/* 新しい配列の内容とポップされた値をリストします*/
while (list($key,$value) = each($fruitArray)) {
echo "$key : $value
";
}
echo "
そして最後に $popped: $popped";
?>
これにより、次のことが表示されます。
0: リンゴ
1:オレンジ
2:バナナ
3:キウイ
そして最後に、$popped:pear
次に、配列の末尾から要素を削除します。 ? ? ? ? ? ? ? ? ? ?
次に、配列の末尾から値を削除します。
/*配列を作成します*/
$fruitArray = array("リンゴ", "オレンジ", "バナナ", "キウイ", "梨");
/* 配列の先頭から値を削除します */
$shifted = array_shift($fruitArray);
/* 新しい配列の内容と削除された値をリストします*/
while (list($key,$value) = each($fruitArray)) {
echo "$key : $value
";
}
echo "
そして最後に、$shifted: $shifted";
?>
これにより、次のことが表示されます。
0:オレンジ
1:バナナ
2:キウイ
3:梨
そして最後に $shifted:apple
配列要素の並べ替えに役立つ関数が多数あります。ただし、プロセスを理解するのに役立つように、基本的な並べ替えを示します。
/* 元の配列を作成します */
$fruitArray = array("リンゴ", "オレンジ", "バナナ", "キウイ", "梨");
/* 選別 */
並べ替え($fruitArray);
/* 配列を最初から最後まで正しく表示するにはリセットします */
/* 各要素をキー値ごとにリストします */
while (list($key,$value) = each($fruitArray)) {
echo "$key : $value
";
}
?>
これにより、次のことが表示されます。
0: リンゴ
1:バナナ
2:キウイ
3:オレンジ
4:梨