ホームページ >バックエンド開発 >PHPの問題 >PHP配列から指定された値を削除する方法

PHP配列から指定された値を削除する方法

PHPz
PHPzオリジナル
2023-04-23 16:44:30521ブラウズ

PHP 開発では、配列の追加、削除、変更、チェックが必要になることがよくあります。その中でも配列内の指定要素を削除するという操作はよくあることですが、この記事ではPHPの関数を使ってこれを実現する方法を紹介します。

PHP で配列を削除する一般的な方法は 2 つあります。unset 関数を使用して指定した要素を削除する方法と、array_filter 関数を使用して指定した要素をフィルターで除外する方法です。これら 2 つの方法の使用については、以下で詳しく説明します。

unset 関数を使用して指定した要素を削除する

unset 関数は、変数 (配列要素を含む) を削除するために使用される PHP の特別な関数です。構文は次のとおりです:

unset($array[$key]);

このうち、$array は操作対象の配列、$key は配列の添字です。削除する要素。

以下は簡単な例です:

// 定义一个数组
$fruits = array('apple', 'banana', 'cherry', 'date', 'elderberry');

// 删除数组中下标为2的元素
unset($fruits[2]);

// 输出结果
print_r($fruits);

上記のコードを実行した後の出力結果は次のとおりです:

Array
(
    [0] => apple
    [1] => banana
    [3] => date
    [4] => elderberry
)

上記の結果からわかるように、配列内の添字は 2 です。要素 (つまり、「チェリー」) は削除されました。

複数の要素を削除する場合は、unset 関数で複数のパラメーターを使用できることに注意してください。例:

// 定义一个数组
$fruits = array('apple', 'banana', 'cherry', 'date', 'elderberry');

// 删除数组中下标为1和3的元素
unset($fruits[1], $fruits[3]);

// 输出结果
print_r($fruits);

上記のコードを実行すると、出力結果は次のようになります。

Array
(
    [0] => apple
    [2] => cherry
    [4] => elderberry
)

上記の結果からわかるように、配列内の添え字 1 と 3 の要素 (つまり、「バナナ」と「日付」)が削除されました。

array_filter 関数を使用して、指定した要素をフィルタリングします。

array_filter 関数は、配列内の要素をフィルタリングするために使用される PHP の組み込み関数です。その構文は次のとおりです:

array_filter($array, $callback);

このうち、$array はフィルタリングされる配列、$callback はフィルタリングの定義に使用されるコールバック関数です。ルール。

以下は簡単な例です:

// 定义一个数组
$fruits = array('apple', 'banana', 'cherry', 'date', 'elderberry');

// 定义过滤回调函数,匹配以字母'a'开头的元素
function starts_with_a($value)
{
    return (substr($value, 0, 1) == 'a');
}

// 过滤数组中以字母'a'开头的元素
$filtered_fruits = array_filter($fruits, 'starts_with_a');

// 输出结果
print_r($filtered_fruits);

上記のコードを実行した後の出力結果は次のとおりです:

Array
(
    [0] => apple
)

上記の結果からわかるように、配列内の文字 'a ' で始まる要素 (つまり、'apple') が除外されました。

複数の要素をフィルターで除外する場合は、コールバック関数で複数の条件を使用してフィルターできることに注意してください。例:

// 定义一个数组
$fruits = array('apple', 'banana', 'cherry', 'date', 'elderberry');

// 定义过滤回调函数,过滤掉长度小于5的元素和以字母'd'开头的元素
function filter_fruits($value)
{
    return (strlen($value) >= 5 && substr($value, 0, 1) != 'd');
}

// 过滤数组中长度小于5的元素和以字母'd'开头的元素
$filtered_fruits2 = array_filter($fruits, 'filter_fruits');

// 输出结果
print_r($filtered_fruits2);

上記のコードを実行すると、出力結果は次のようになります。

Array
(
    [0] => banana
    [2] => cherry
    [4] => elderberry
)

上記の結果からわかるように、配列内の長さが 5 未満の要素は、文字「d」で始まる要素 (つまり、「apple」と「date」) はフィルターで除外されています。

この記事では、PHP で配列内の指定された要素を削除する 2 つの一般的な方法、unset 関数を使用する方法と array_filter 関数を使用する方法を紹介します。どちらの方法にも独自の長所と短所があり、開発者は実際のニーズに基づいて配列削除操作を実装する適切な方法を選択できます。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。