按鍵前綴過濾數組元素
給定一個包含鍵和值的數組,如何刪除鍵不以一個特定的字串?例如,給定以下數組:
<code class="php">array( 'abc' => 0, 'foo-bcd' => 1, 'foo-def' => 1, 'foo-xyz' => 0, // ... )</code>
目標是僅保留鍵以“foo-”開頭的元素。
函數方法:
使用array_filter 函數,您可以過濾數組並只保留所需的元素:
<code class="php">$array = array_filter($array, function($key) { return strpos($key, 'foo-') === 0; }, ARRAY_FILTER_USE_KEY);</code>
過程方法:
或者,過程方法可以使用方法:
<code class="php">$only_foo = array(); foreach ($array as $key => $value) { if (strpos($key, 'foo-') === 0) { $only_foo[$key] = $value; } }</code>
物件的過程方法:
使用迭代器,還可以過濾數組:
<code class="php">$i = new ArrayIterator($array); $only_foo = array(); while ($i->valid()) { if (strpos($i->key(), 'foo-') === 0) { $only_foo[$i->key()] = $i->current(); } $i->next(); }</code>
以上是如何在 PHP 中按鍵前綴過濾數組元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!