有效地為數組鍵添加前綴
要將字串添加到數組中所有鍵的開頭,有多種方法可用。
單行解
最簡潔的解法涉及array_map 和array_combine 的組合:
<code class="php">$prefix = "prefix"; $array = array_combine( array_map( fn($k) => $prefix . $k, array_keys($array) ), $array );</code>
函數式方法
函數式方法<code class="php">$prefix = "prefix"; $array = array_combine( array_map( fn($k) => $prefix . $k, array_keys($array) ), $array );</code>
函數式方法
<code class="php">foreach ($array as $k => $v) { $array[$prefix . $k] = $v; unset($array[$k]); }</code>函數式方法
函數式方法
<code class="php">class KeyPrefixer { public function prefix(array $array, $prefix) { return $this->mapArray($array); } public function mapArray(array $array) { return array_combine( array_map(array($this, 'mapKey', array_keys($array)), $array ); } public function mapKey($key) { return $this->prefix . (string)$key; } } $prefix = "prefix"; $array = KeyPrefixer::prefix($array, $prefix);</code>對於PHP 7.4 及以上版本,可以使用箭頭函數語法:迭代方法傳統的基於循環的解決方案也可以使用:PHP 5.3 之前的自訂類別對於較舊的PHP 版本,可以使用帶有mapArray 方法的自訂類別:
以上是如何在 PHP 中有效率地為數組鍵加上前綴?的詳細內容。更多資訊請關注PHP中文網其他相關文章!