ホームページ > バックエンド開発 > PHPの問題 > PHPで配列の値を変更する方法

PHPで配列の値を変更する方法

PHPz
リリース: 2023-04-12 09:58:19
オリジナル
826 人が閲覧しました

PHP 配列は、1 つの変数に複数の値を格納できる非常に強力なデータ型です。実際のアプリケーションでは、プログラムのニーズを満たすために配列内の値を変更する必要があることがよくあります。この記事では、PHPで配列の値を変更する方法を解説します。

1. キー名を使用して配列値を変更する

PHP 配列には、インデックス配列と連想配列という 2 つの保存方法があります。インデックス付き配列の場合は添字 (キー名) を介してその要素にアクセスでき、連想配列の場合はキー (キー名) を介してその要素にアクセスできます。したがって、配列内の値を変更する場合、最も簡単な方法は、添字またはキー名に従って配列要素にアクセスし、その値を変更することです。

たとえば、要素 1、2、3、4 を持つ配列 $a があります。最初の要素の値を 5 に変更したい場合は、次のように実行できます:

$a = array(1, 2, 3, 4);
$a[0] = 5;
ログイン後にコピー

キー 'name'、'age'、'gender ' を含む連想配列 $b がある場合、対応する値は 'Zhang San'、20、' Male' です。次の方法で値を変更できます:

$b = array('name' => '张三', 'age' => 20, 'gender' => '男');
$b['age'] = 25;
ログイン後にコピー

2. array_splice() 関数を使用して要素を削除および挿入します

配列から要素を削除し、その位置に新しい要素を挿入したい場合はどうすればよいでしょうか?現時点では、PHP の組み込み関数 array_splice() を使用してこれを実現できます。

array_splice() 関数の構文は次のとおりです:

array_splice(array &$input , int $offset [, int $length = 0 [, mixed $replacement ]]): array
ログイン後にコピー

このうち、$input は操作対象の配列を表し、$offset は削除および挿入される開始位置を表します。 $length は削除される要素を表します。数量は、省略された場合はデフォルトで 0 になります。$replacement は、挿入される要素を表す新しい要素のオプションの配列です。最後に、関数は変更された配列を返します。

たとえば、要素 1、2、3、4、5 を含む配列 $c があり、2 番目の要素 2 を削除して、その位置に 6 を挿入したい場合は、次のように実行できます。操作を実行します:

$c = array(1, 2, 3, 4, 5);
array_splice($c, 1, 1, 6);
ログイン後にコピー

上記のコードを実行すると、$c 配列は 1、6、3、4、5 になります。

3. array_replace() 関数による要素値の置換

特定の条件を満たす配列内のすべての要素値を新しい要素値に置き換えたい場合は、次のようにします。 PHP 組み込み関数 array_replace () を使用して実行します。

array_replace() 関数の構文は次のとおりです:

array_replace(array $array , array …$args): array
ログイン後にコピー

このうち、$array は操作対象の配列を表し、$args は変数パラメータであり、複数の配列を指定できます。置換される配列を表すために入力します。最後に、関数は変更された配列を返します。

たとえば、要素 1、2、3、4、5 を含む配列 $d があり、すべての奇数を 10 に置き換えたい場合は、次のように実行できます。

$d = array(1, 2, 3, 4, 5);
$d_new = array_replace($d, array_fill_keys(array_keys($d,1) + array_keys($d,3) + array_keys($d,5), 10));
ログイン後にコピー

上記のコードを実行すると、$d_new 配列は 10, 2, 10, 4, 10 になります。

要約すると、上記の 3 つの方法で PHP 配列の値を変更できます。これらの方法をマスターすると、複雑なプログラム ロジックをより効率的に実装できるようになります。

以上がPHPで配列の値を変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート