迫切的問題是:如何有效率地為平面陣列的鍵加上前綴?
<code class="php">$prefix = "prefix"; $array = array_combine( array_map(fn($k) => $prefix . $k, array_keys($array)), $array );</code>
對於5.3 之前的PHP 版本,以下類別-可以使用基於方法:
<code class="php">class KeyPrefixer { private $prefix; public function __construct($prefix) { $this->prefix = (string)$prefix; } public static function prefix(array $array, $prefix) { $prefixer = new KeyPrefixer($prefix); return $prefixer->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>
<code class="php">$prefix = "prefix"; foreach ($array as $k => $v) { $array[$prefix . $k] = $v; unset($array[$k]); }</code>
出於安全考慮,不建議使用。
<code class="php">$array = array_combine( array_map(create_function('$k', 'return "prefix$k";'), array_keys($array)), $array );</code>
以上是如何在 PHP 中有效率地為數組鍵加上前綴?的詳細內容。更多資訊請關注PHP中文網其他相關文章!