PHP 開発では、多次元配列の処理は非常に一般的な操作です。場合によっては、多次元配列を変更する必要があることがあります。たとえば、特定のサブ配列の値を別の値に変更したり、キーと値のペアを削除したりする必要があります。では、PHP では、多次元配列の値を変更するにはどうすればよいでしょうか?
次に、この記事では、foreach ステートメントを使用して多次元配列の値を変更する方法を詳しく紹介します。
PHP では、foreach ステートメントを使用して配列を走査できます。 foreach ステートメントの基本的な構文は次のとおりです。
foreach ($array as $key => $value) { // 对$value进行操作 }
このうち、$array は走査対象の配列、$key は現在走査されている配列内の要素のキー、$value は値です。配列内で現在トラバースされている要素の値。これら 3 つのパラメータを通じて、配列内の要素にアクセスして操作できます。
たとえば、次のコードは foreach ステートメントを使用して単純な配列を走査します:
$fruits = array("apple", "orange", "banana"); foreach ($fruits as $fruit) { echo $fruit . "<br>"; }
上記のコードの出力は次のとおりです:
apple orange banana
PHP で多次元配列の値を変更するには、ネストされた foreach ステートメントを使用する必要があります。以下は 2 次元配列の例です:
$students = array( array("name" => "张三", "age" => 18, "score" => 80), array("name" => "李四", "age" => 19, "score" => 90), array("name" => "王五", "age" => 20, "score" => 85) );
John Doe のスコアを 90 から 95 に変更する必要がある場合は、次のコードを使用できます:
foreach ($students as &$student) { if ($student["name"] == "李四") { $student["score"] = 95; } }
上記のコードを通じてforeach ステートメントは $students 配列を走査し、各サブ配列 $student を取り出します。各部分配列で、$name が「李思」に等しいかどうかを判断し、等しい場合は、$score を 95 に変更します。 foreach ステートメントはサブ配列のコピーを作成するため、サブ配列を変更するときは参照 & を使用する必要があることに注意してください。
次に、より複雑な多次元配列の例を見てみましょう:
$employees = array( array("name" => "张三", "age" => 25, "department" => "技术部"), array("name" => "李四", "age" => 26, "department" => "市场部"), array("name" => "王五", "age" => 28, "department" => "财务部") ); $departments = array( "技术部" => array("leader" => "赵六", "location" => "办公室1"), "市场部" => array("leader" => "钱七", "location" => "办公室2"), "财务部" => array("leader" => "孙八", "location" => "办公室3") );
Zhang San の部署を「技術部」から「財務部」に変更する必要がある場合は、次のコマンドを使用できます。次のコード:
foreach ($employees as &$employee) { if ($employee["name"] == "张三") { $department = $departments[$employee["department"]]; $employee["department"] = "财务部"; $employee["leader"] = $department["leader"]; $employee["location"] = $department["location"]; } }
上記のコードでは、まず foreach ステートメントを使用して $employees 配列を走査し、$name が "Zhang San" に等しい従業員を見つけます。次に、$employee["Department"] をキーとして使用して $Departments 配列から Zhang San の部署を取得し、$employee のキーと値のペアを変更します ("Department" キーの値を "Finance" に変更するなど)。 「Department」を選択し、「leader」キーと「location」キーの値を元の部門の値に割り当てます。
foreach ステートメントを使用すると、多次元配列を簡単に走査して変更できます。サブ配列を変更する場合は、参照 & を使用する必要があることに注意してください。
以上がPHP で多次元配列の値を変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。