>  기사  >  백엔드 개발  >  PHP에서 배열 키에 접두사를 효율적으로 추가하는 방법은 무엇입니까?

PHP에서 배열 키에 접두사를 효율적으로 추가하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-26 14:18:30606검색

How to Efficiently Add a Prefix to Array Keys in PHP?

배열 키에 효율적으로 접두사 추가

필수 질문은: 평면 배열의 키에 접두사를 효율적으로 추가하는 방법입니다.

해결 방법 1: PHP >= 7.4 화살표 함수 사용

<code class="php">$prefix = "prefix";
$array = array_combine(
    array_map(fn($k) => $prefix . $k, array_keys($array)),
    $array
);</code>

해결 방법 2: 외부 클래스 사용(PHP < 5.3)

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);<h3>추가 접근 방식</h3>
<ul><li><strong>루프 사용(PHP >= 5.3)</strong></li></ul>
<pre class="brush:php;toolbar:false"><code class="php">$prefix = "prefix";
foreach ($array as $k => $v)
{
    $array[$prefix . $k] = $v;
    unset($array[$k]);
}</code>
  • create_function()과 함께 array_combine() 사용(PHP < 5.3)

보안상의 이유로 권장하지 않습니다.

<code class="php">$array = array_combine(
    array_map(create_function('$k', 'return "prefix$k";'), array_keys($array)),
    $array
);</code>

위 내용은 PHP에서 배열 키에 접두사를 효율적으로 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.