根據前綴可用性提取數組元素
在數組具有不同鍵前綴的情況下,僅提取以以下開頭的元素特定的前綴可能是一項有用的任務。讓我們考慮一個範例陣列:
array( 'abc' => 0, 'foo-bcd' => 1, 'foo-def' => 1, 'foo-xyz' => 0, // ... )
挑戰:僅保留以「foo-」開頭的元素。
函數方法:
<code class="php">$array = array_filter($array, function($key) { return strpos($key, 'foo-') === 0; }, ARRAY_FILTER_USE_KEY);</code>
帶有匿名函數的 array_filter 函數檢查每個元素的鍵是否以「foo-」開頭。如果滿足此條件,則該元素將保留在修改後的陣列中。
過程方法:
<code class="php">$only_foo = array(); foreach ($array as $key => $value) { if (strpos($key, 'foo-') === 0) { $only_foo[$key] = $value; } }</code>
此方法迭代數組,檢查每個鍵是否存在'foo-' 前綴。如果找到,則將該元素新增至僅包含滿足條件的元素的新陣列中。
使用物件的過程方法:
<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>
使用此方法, ArrayIterator 物件用於遍歷原始陣列。檢查每個鍵是否有“foo-”前綴,並將相應的元素添加到新數組中。
以上是如何在 PHP 中根據特定鍵前綴提取數組元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!