다국어 지원 애플리케이션을 개발할 때는 다국어 데이터 구조에서 특정 언어의 필드 값을 추출해야합니다. PHP에서 Array_Column 함수는 다차원 배열에서 열에서 데이터를 추출하는 데 도움이되는 매우 실용적인 도구입니다. 이 기사에서는 Array_Column 함수를 사용하여 다국어 데이터에서 지정된 언어 필드 값을 추출하는 방법을 보여줍니다.
array_column 함수는 입력 배열에서 열의 값을 반환합니다. 기본 구문은 다음과 같습니다.
array_column(array $input, mixed $column_key, mixed $index_key = null): array
$ 입력 : 다차원 입력 배열.
$ column_key : 추출 해야하는 열 키입니다.
$ index_key : 옵션 매개 변수는이 매개 변수를 지정하여 결과 배열을 다시 표시 할 수 있습니다.
다음과 같은 다국어 데이터 구조가 있다고 가정하면 각 언어 필드는 언어의 텍스트 값에 해당합니다.
$translations = [
[
'language' => 'en',
'text' => 'Hello, world!',
'url' => 'http://example.com/en/hello-world'
],
[
'language' => 'es',
'text' => '?Hola, mundo!',
'url' => 'http://example.com/es/hello-world'
],
[
'language' => 'fr',
'text' => 'Bonjour le monde!',
'url' => 'http://example.com/fr/hello-world'
]
];
Array_Column을 통해 모든 언어의 값을 텍스트 필드로 추출하려고합니다. 그런 다음 URL 필드를 수정하고 도메인 이름을 m66.net 으로 바꿉니다.
Array_Column을 통해 텍스트 필드의 모든 값을 추출 할 수 있습니다.
$texts = array_column($translations, 'text');
print_r($texts);
출력 결과는 다음과 같습니다.
Array
(
[0] => Hello, world!
[1] => ?Hola, mundo!
[2] => Bonjour le monde!
)
다음으로 데이터를 추출 할 때 URL 필드의 도메인 이름을 수정하고자합니다. Array_Map을 통해 전체 배열을 반복하고 각 URL 필드의 도메인 이름을 교체 할 수 있습니다.
$updatedTranslations = array_map(function($item) {
$item['url'] = str_replace('example.com', 'm66.net', $item['url']);
return $item;
}, $translations);
print_r($updatedTranslations);
출력 결과는 다음과 같습니다.
Array
(
[0] => Array
(
[language] => en
[text] => Hello, world!
[url] => http://m66.net/en/hello-world
)
[1] => Array
(
[language] => es
[text] => ?Hola, mundo!
[url] => http://m66.net/es/hello-world
)
[2] => Array
(
[language] => fr
[text] => Bonjour le monde!
[url] => http://m66.net/fr/hello-world
)
)
위에서 볼 수 있듯이 URL 필드의 도메인 이름은 M66.net 으로 성공적으로 대체되었습니다.
PHP의 array_column 함수를 사용하면 다차원 배열에서 지정된 필드에 대한 데이터를 쉽게 추출 할 수 있습니다. 동시에 array_map 함수와 결합하여 URL에서 도메인 이름을 대체하는 것과 같은 데이터의 특정 필드 내용을 수정할 수도 있습니다. 이 방법은 다국어 데이터 또는 기타 유사한 데이터 구조를 처리하는 데 이상적입니다.
이 기사가 다국어 데이터를 처리 할 때 귀하를 도와주고보다 효율적으로 만들 수 있기를 바랍니다.