プレフィックスの可用性に基づいて配列要素を抽出する
さまざまなキー プレフィックスを持つ配列があるシナリオでは、次で始まる要素のみを抽出します特定のプレフィックスは便利なタスクになる可能性があります。 array:
array( 'abc' => 0, 'foo-bcd' => 1, 'foo-def' => 1, 'foo-xyz' => 0, // ... )
チャレンジ: 'foo-' で始まる要素のみを保持します。
機能的アプローチ:
$array = array_filter($array, function($key) {
return strpos($key, 'foo-') === 0;
}, ARRAY_FILTER_USE_KEY);
匿名関数を含む array_filter 関数は、各要素のキーが 'foo-' で始まるかどうかをチェックします。この条件が満たされる場合、要素は変更された配列に保持されます。
手続き型アプローチ:
$only_foo = array();
foreach ($array as $key => $value) {
if (strpos($key, 'foo-') === 0) {
$only_foo[$key] = $value;
}
}
このアプローチは、配列を反復処理して、各キーの「foo-」プレフィックスをチェックします。見つかった場合、要素は、基準を満たす要素のみを含む新しい配列に追加されます。
オブジェクトを使用した手続き型アプローチ:
$i = new ArrayIterator($array);
$only_foo = array();
while ($i->valid()) {
if (strpos($i->key(), 'foo-') === 0) {
$only_foo[$i->key()] = $i->current();
}
$i->next();
}
このアプローチでは、ArrayIterator オブジェクトを使用して元の配列を走査します。各キーの「foo-」プレフィックスが検査され、対応する要素が新しい配列に追加されます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3