PHPで配列内のフィールドを削除する方法

PHPz
リリース: 2023-04-24 16:36:50
オリジナル
681 人が閲覧しました

PHP は、Web 開発に使用されるオープンソースのスクリプト言語です。複数のデータ型をサポートしており、配列はその 1 つであり、最も一般的に使用されるデータ型の 1 つです。配列を操作する場合、特定のニーズを満たすためにフィールドを削除する必要がある場合があります。この記事では、PHPで配列のフィールドを削除する方法を紹介します。

PHP では、unset() 関数を使用して、配列から 1 つ以上のフィールドを削除できます。 unset() 関数は 1 つ以上のパラメータを受け取り、各パラメータは配列から削除されるフィールドです。パラメータが指定されていない場合、unset() 関数は何も行いません。

ここでは、unset() 関数を使用して連想配列からフィールドを削除する方法を示す簡単な例を示します:

// 创建关联数组
$student = array(
    "name" => "Tom",
    "age" => 20,
    "grade" => "A"
);

// 使用unset()函数删除'grade'字段
unset($student['grade']);

// 输出剩余的字段
print_r($student);
ログイン後にコピー

このコードは次を出力します:

Array
(
    [name] => Tom
    [age] => 20
)
ログイン後にコピー

コードの説明:

  1. 最初に、nameage、# の 3 つのフィールドを含む $student という名前の連想配列を作成しました。 ##学年###。 unset() 関数を使用して、
  2. $student
  3. 配列の grade フィールドを削除します。この操作により、配列から grade フィールドが完全に削除されます。 最後に、print_r() 関数を使用して、
  4. $student
  5. 配列の残りのフィールドを出力します。この例では、name フィールドと age フィールドが出力されます。
  6. ただし、削除する配列フィールドが通常の数値インデックス配列の要素である場合、unset() 関数を使用すると問題が発生します。削除された要素には穴が残り、その結果、配列のキーは連続した数値のシーケンスではなくなりました。例:
// 创建一个数字索引数组
$numbers = array(0, 1, 2, 3, 4);

// 使用unset()函数删除第二个元素
unset($numbers[1]);

// 输出数组
print_r($numbers);
ログイン後にコピー

このコードは次を出力します:

Array
(
    [0] => 0
    [2] => 2
    [3] => 3
    [4] => 4
)
ログイン後にコピー

コードの説明:

まず、
    $numbers## という名前の新しいコードを作成します。 # 5 つの要素を含む数値インデックス付き配列:
  1. 0123、および 4unset() 関数を使用して、$numbers
  2. 配列の 2 番目の要素 (
  3. 1) を削除します。 最後に、print_r() 関数を使用して、$numbers
  4. 配列の残りの要素を出力します。ただし、数値インデックス
  5. 1 を持つ要素を削除したため、配列には穴が含まれます。 数値インデックス付き配列内の要素を削除し、インデックスの連続性を維持する必要がある場合は、array_splice() 関数を使用できます。この関数は、配列から 1 つ以上の要素を削除し、配列インデックス $ を連続した数値にリセットします。
これは、array_splice() 関数を使用して数値インデックス付き配列から要素を削除する方法を示す例です:

// 创建一个数字索引数组
$numbers = array(0, 1, 2, 3, 4);

// 使用array_splice()函数删除第二个元素
array_splice($numbers, 1, 1);

// 输出数组
print_r($numbers);
ログイン後にコピー
このコードは次を出力します:

Array
(
    [0] => 0
    [1] => 2
    [2] => 3
    [3] => 4
)
ログイン後にコピー
コードの説明:

最初に、

$numbers
    という名前の数値インデックス配列を作成します。これには、5 つの要素が含まれます:
  1. 01234array_splice() 関数を使用して、$numbers
  2. 配列の 2 番目の要素 (
  3. 1) を削除します。ここでの最初のパラメータは変更される配列、2 番目のパラメータは削除される最初の要素のインデックス位置、3 番目のパラメータは削除される要素の数です。 最後に、print_r() 関数を使用して、$numbers
  4. 配列の残りの要素を出力します。 array_splice() 関数を使用したため、この配列のインデックスは連続した数値にリセットされます。
  5. 関数を使用して配列要素を削除する場合は、次の点に注意する必要があります。

削除する配列フィールドが通常の要素の場合数値インデックス配列。連続した数値シーケンスを維持するには、array_splice() 関数を使用してください。

    存在しない配列フィールドを削除するために unset() 関数を使用しないでください。そうしないと、PHP によって E_NOTICE レベルの警告メッセージが発行されます。 PHP では、isset() 関数を使用して、配列フィールドが存在するかどうかを確認します。
  1. unset() 関数を使用して配列フィールドを削除する場合は、フィールド名の前に $ 記号を付けることを忘れないでください。そうしないと、PHP は定数を使用していると認識します。

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

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