ホームページ >バックエンド開発 >PHPチュートリアル >PHP配列がシャッフルされた後に特定の要素を見つけるにはどうすればよいですか?

PHP配列がシャッフルされた後に特定の要素を見つけるにはどうすればよいですか?

WBOY
WBOYオリジナル
2024-05-04 21:15:01591ブラウズ

シャッフルされた PHP 配列内の特定の要素を見つける方法は、配列を反復処理して要素を比較することです。 array_search() 関数を使用してキーを検索します。 in_array() 関数を使用して存在を確認します。

PHP配列がシャッフルされた後に特定の要素を見つけるにはどうすればよいですか?

#シャッフルされた PHP 配列内の特定の要素を検索する方法

##はじめに

# PHP では、配列は基本的に要素を挿入順に格納します。ただし、配列の要素がランダムに配置されるように、配列の順序をシャッフルする必要がある場合があります。これは通常、セキュリティまたはプライバシーの目的で行われます。

配列の順序が崩れると、特定の要素を見つけるのが困難になることがあります。この記事では、シャッフルされた PHP 配列内の特定の要素を効率的に検索する方法を説明します。

メソッド

シャッフルされた配列内の特定の要素を見つけるには、次のメソッドを使用できます:

1. 配列を走査します。

最も簡単な方法は、foreach

を使用して配列をループし、各要素を比較してターゲット要素と一致するかどうかを確認することです。

function find_in_shuffled_array($arr, $target) {
  foreach ($arr as $key => $value) {
    if ($value === $target) {
      return $key;
    }
  }
  return -1;
}
2.

array_search()

関数を使用します。PHP の組み込み array_search()

関数を使用すると、配列内で指定された値を検索し、そのキー (インデックス) を返します。

function find_in_shuffled_array($arr, $target) {
  // strict 可以防止类型松散匹配
  return array_search($target, $arr, true);
}
3.

in_array()

関数を使用します: in_array()

この関数は、指定された値かどうかを確認します。配列値に存在し、ブール値を返します。ターゲット要素が見つかった場合は

true を返し、それ以外の場合は false を返します。

function find_in_shuffled_array($arr, $target) {
  // strict 可以防止类型松散匹配
  if (in_array($target, $arr, true)) {
    return true;
  } else {
    return false;
  }
}
実際的なケース

シャッフルされた整数の配列があるとします。

$arr = [3, 1, 5, 7, 2, 4];

配列内の数値を見つけるには

5

、次のコードを使用できます:

$key = find_in_shuffled_array($arr, 5);

if ($key !== -1) {
  echo "5 found at position {$key}\n";
} else {
  echo "5 not found in the array\n";
}
出力:
5 found at position 2

以上がPHP配列がシャッフルされた後に特定の要素を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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