PHP では、配列は最も一般的に使用されるデータ型の 1 つであり、関連する変数のコレクションを指します。各配列要素は、対応するキー名 (整数または文字列型) を通じてアクセスおよび操作できます。場合によっては、配列内のキーの値をキー名で変更する必要があるので、その方法を紹介します。
PHP には、array_replace()
、array_replace_recursive()
など、配列要素を変更するメソッドを実装するための組み込み関数がいくつか用意されていますが、これらの関数の欠点は次のとおりです。 : キー名が存在しない場合は、新しい要素を追加します。これが望ましくない場合は、キーの値を変更する関数を自分で実装した方が良いかもしれません。
まず、PHP では配列のキー名はキー値へのポインタであるため、キー名を操作することでキー値を変更できることを知っておいてください。 array_keys()
関数を使用して配列内のすべてのキー名を取得し、キー名を走査し、現在のキー名を通じてキー値にアクセスし、変更条件が満たされている場合は対応するキー値を更新します。満たされています。
次は、入力配列をトラバースするサンプル関数 change_array_key()
の実装です。現在のキー名が変更されるキー名と等しい場合、キーの値は次のようになります。新しいキー値に変更されました:
function change_array_key($arr, $old_key, $new_value) { $keys = array_keys($arr); foreach($keys as $key) { if($key == $old_key) { $arr[$key] = $new_value; } } return $arr; }
上記の関数例を使用すると、配列内のキー値を簡単に変更できます。以下は実際的な例です:
$arr = array("name"=>"Tom","age"=>23,"sex"=>"male"); echo "修改前:<br>"; print_r($arr); $new_arr = change_array_key($arr, "age", 24); echo "修改后:<br>"; print_r($new_arr);
出力結果は次のとおりです:
修改前: Array ( [name] => Tom [age] => 23 [sex] => male ) 修改后: Array ( [name] => Tom [age] => 24 [sex] => male )
上記のコードでは、最初に配列 $arr
を定義し、次に ## を使用します。 #change_array_key () この関数は、配列内の
age キー名に対応するキー値を 24 に変更します。変更された配列は、
$new_arr 変数を通じて返され、最後に変更前後の配列が出力されます。
array_keys() 関数を使用して配列内のすべてのキー名を取得し、キー名を走査して、最後に対応するキー値を更新します。
以上がキー名を使用してPHP配列のキー値を変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。