PHPでは、 Array_combine()関数は、2つの配列を連想アレイ(つまり、辞書)に結合するのに非常に適しています。この関数には2つのパラメーターが必要です。1つ目はキー配列、2つ目は値配列です。次に、最初の配列の要素をキーとして、2番目の配列の要素を値として返します。
array_combine(array $keys, array $values): array|false
$キー:辞書キーとして使用されるすべての要素を含むキーの配列。
$値:辞書値として使用されるすべての要素を含む値の配列。
返品値:
$キーの要素との関連配列をキーとして、 $ keysの要素を値として返します。
2つの配列の要素の数が等しくない場合、または配列の1つが空である場合、関数はfalseを返します。
生徒の名前が付いた2つのリストが2つあり、もう1つは生徒の成績を持つリストがあるとします。これらのリストは、各生徒の成績を照会するために辞書に合流したいと考えています。
<?php
// 学生名配列
$students = ['Alice', 'Bob', 'Charlie', 'David'];
// 学生グレードアレイ
$scores = [85, 92, 78, 88];
// 使用 array_combine 2つの配列を辞書に組み合わせます
$student_scores = array_combine($students, $scores);
// 出力結果
if ($student_scores !== false) {
echo "学生の成績辞書:\n";
print_r($student_scores);
} else {
echo "一貫性のない配列長,マージできません!\n";
}
?>
最初に2つの配列を定義します。 $の学生は学生の名前を保存し、 $スコアは対応するスコアを保存します。
次に、 array_combine()を使用して2つの配列を辞書に結合します。キーは学生の名前、値は学生の成績です。
マージが成功した場合、リターンは連想配列であり、形式は次のとおりです。
Array
(
[Alice] => 85
[Bob] => 92
[Charlie] => 78
[David] => 88
)
2つの配列が同じ長さでない場合、 array_combine()がfalseを返します。したがって、エラーを避けるために結果を確認する必要があります。
配列の長さは一貫していません。2つの配列の長さが異なる場合、 array_combine()はfalseを返します。実際のアプリケーションでは、通常、アレイの長さを最初に確認するか、呼び出す前にそれらが同じであることを確認する必要があります。
空の配列:配列が空の場合、関数もfalseを返します。データを処理するときは、着信配列が空でないことを確認してください。
キーユニークネス:組み合わせた辞書キーは一意でなければなりません。キーが重複している場合、次の値は以前の値をオーバーライドします。
一貫性のない配列の長さによるエラーを回避するために、 array_combine()を使用する前に、2つの配列の長さを手動で確認できます。
<?php
$students = ['Alice', 'Bob', 'Charlie', 'David'];
$scores = [85, 92, 78];
// 配列の長さが一貫しているかどうかを確認してください
if (count($students) === count($scores)) {
$student_scores = array_combine($students, $scores);
print_r($student_scores);
} else {
echo "学生リストの長さはグレードリストと矛盾しています,マージできません!\n";
}
?>
ペアリングデータ: array_combine()は、2つの関連する配列(名前や電話番号など)をペアにする必要がある場合、非常に効率的なツールです。
フォーム処理:フォームデータを受信する場合、フィールド名の配列とフィールド値の配列がある場合があります。 array_combine()を使用してそれらをマージして、操作が簡単な連想配列を形成できます。
Array_combine()関数は、2つの対応するものを連想配列(辞書)に組み合わせるのに非常に適しており、ペアリングデータやフォーム処理などのシナリオでよく使用されます。それを使用する場合、2つの配列の長さが一貫していることを確認してください。そうしないと、関数がfalseを返し、キーが一意であることを確認します。