PHP 開発において、配列は非常に重要なデータ型です。より複雑な計算やその他の操作を実行するには、配列内の数値以外の要素をすべてクリアする必要がある場合があります。
この記事では、PHP を使用して配列内の数値以外の要素をクリアする方法を紹介し、読者がこのプロセスをよりよく理解できるようにいくつかの実践的な例を示します。
array_filter() 関数は、配列を走査し、条件を満たさない要素を削除できます。この関数を使用すると、カスタム関数を通じて配列をフィルタリングし、数値要素のみを保持できます。以下にコード例を示します。
$array = array("string", 1234, "5", "67.8", 90); function only_num($var) { return is_numeric($var); } $result = array_filter($array, "only_num"); print_r($result); //输出:Array ( [1] => 1234 [2] => 5 [3] => 67.8 [4] => 90 )
上の例では、指定された変数が数値であるか数値文字列であるかを判断する is_numeric() 関数を使用しています。次に、この関数をコールバック関数として array_filter() 関数に渡し、配列を処理します。
正規表現は、テキストを特定のパターンと一致させて置換するために使用できる、非常に便利なテキスト処理ツールです。この場合、正規表現を使用してすべての数値を照合し、数値以外の要素を削除できます。
以下は、配列をクリーニングするための正規表現の例です:
$array = array("string", 1234, "5", "67.8", 90); foreach ($array as $key => $value) { if (preg_match('/^\d+$/',$value) !== 1) { unset($array[$key]); } } print_r($array); //输出:Array ( [1] => 1234 [2] => 5 [4] => 90 )
上の例では、preg_match() 関数と正規表現 "/^\d $/" を使用しています。 " はすべての数値文字列と一致します。照合が成功した場合 (1 が返された場合)、要素は数値です。それ以外の場合は、unset() 関数を呼び出して要素を削除します。最後に、残りの数値要素を画面に出力します。
array_walk() 関数は、配列を走査してカスタム関数を実行するために使用できるもう 1 つの PHP 組み込み関数です。それぞれの要素。この関数を使用すると、配列から数値以外の要素を消去できます。
次は、array_walk() 関数を使用して配列をクリーンアップする例です。
$array = array("string", 1234, "5", "67.8", 90); function only_num(&$value, $key) { if (!is_numeric($value)) { unset($value); } } array_walk($array, "only_num"); print_r($array); //输出:Array ( [1] => 1234 [2] => 5 [3] => 67.8 [4] => 90 )
上の例では、コールバック関数を array_walk() 関数に渡して、非配列をクリアします。 -数値要素。要素が数値でない場合は、それを削除して数値要素のみを残します。
結論
PHP 開発では、配列の使用が非常に一般的です。場合によっては、複雑な計算やその他の操作を実行するために、配列から数値以外の要素をすべて削除する必要があります。この記事では、この目標を達成するための 3 つの異なる方法、つまり PHP 組み込み関数 array_filter() を使用する方法、正規表現を使用する方法、array_walk() 関数を使用する方法について説明します。自分のニーズに応じてさまざまな方法を選択し、実際の状況に応じて変更および調整できます。実際の開発において、この手法は非常に役立つはずです。
以上がPHPで配列内の数値以外の要素をクリアする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。