PHP 배열의 각 항목에 접두사 추가
PHP 배열을 가지고 있는데, 이 배열을 마이너스(-)로 붙이고 싶습니다.폭발과 폭파는 가능하다고 생각하지만, php에 대한 저의 지식은 그것을 실제로 할 수 없습니다.어떤 도움이라도 주시면 감사하겠습니다.
기본적으로 여기서부터 시작하고 싶습니다.
$array = [1, 2, 3, 4, 5];
다음과 같이 입력합니다.
$array = [-1, -2, -3, -4, -5];
좋은 생각 있어요?
어레이 값의 프레픽스를 붙이는 우아한 방법(PHP 5.3+):
$prefixed_array = preg_filter('/^/', 'prefix_', $array);
또, 이 속도는, E-메일 전송 속도보다 3배 이상 빠릅니다.foreach
.
심플:
foreach ($array as &$value) {
$value *= (-1);
}
unset($value);
배열이 문자열이 아닌 경우:
foreach ($array as &$value) {
$value = '-' . $value;
}
unset($value);
이 경우 Rohit의 답변이 가장 좋겠지만 PHP 배열 함수는 더 복잡한 상황에서 매우 유용할 수 있습니다.
를 사용하여 어레이의 각 요소에 대해 기존 어레이를 변경하는 기능을 수행할 수 있습니다.array_map()
는 거의 같은 동작을 하지만 기존 어레이를 변경하지 않고 새 어레이를 반환합니다.같은 어레이를 계속 사용하는 것처럼 보이므로 를 사용해야 합니다.
에서 어레이 요소를 직접 조작하려면 어레이 항목을 참조로 전달합니다( ).function(&$item)
).
php 5.3이므로 array_walk에서 익명 함수를 사용할 수 있습니다.
// PHP 5.3 and beyond!
array_walk($array, function(&$item) { $item *= -1; }); // or $item = '-'.$item;
만약 php 5.3이 당신에게 조금 화려한 바지라면, 그냥 다음을 사용하세요.
// If you don't have PHP 5.3
array_walk($array,create_function('&$it','$it *= -1;')); //or $it = '-'.$it;
다음과 같은 기능이 있습니다.
array_map(function($val) { return -$val;} , $array)
"nothing"을 문자열로 대체할 수 있습니다.따라서 문자열 배열의 프리픽스를 붙이려면(원래 게시된 숫자가 아님) 다음 절차를 수행합니다.
$prefixed_array = substr_replace($array, 'your prefix here', 0, 0);
즉, $array의 각 요소에 대해 오프셋0, 길이0의 (0-length) 문자열을 가져와 프레픽스를 바꿉니다.
참조: subst_replace
$array = [1, 2, 3, 4, 5];
$array=explode(",", ("-".implode(",-", $array)));
//now the $array is your required array
전에도 같은 상황이었어요.
각 어레이 값에 접두사 추가
function addPrefixToArray(array $array, string $prefix)
{
return array_map(function ($arrayValues) use ($prefix) {
return $prefix . $arrayValues;
}, $array);
}
각 배열 값에 접미사 추가
function addSuffixToArray(array $array, string $suffix)
{
return array_map(function ($arrayValues) use ($suffix) {
return $arrayValues . $suffix;
}, $array);
}
이제 테스트 파트:
$array = [1, 2, 3, 4, 5];
print_r(addPrefixToArray($array, 'prefix'));
결과
Array ([0] => prefix1 [1] => prefix2 [2] => prefix3 [3] => prefix4 [4] => prefix5)
print_r(addSuffixToArray($array, 'suffix'));
결과
Array ([0] => 1suffix [1] => 2suffix [2] => 3suffix [3] => 4suffix [4] => 5suffix)
언급URL : https://stackoverflow.com/questions/7617639/add-a-prefix-to-each-item-of-a-php-array
'programing' 카테고리의 다른 글
명령어가 완료될 때까지 기다리지 않고 shell_exec을 사용할 수 있는 방법이 있습니까? (0) | 2023.01.13 |
---|---|
PHP 정규식:끝 구분 기호 '^'을(를) 찾을 수 없습니다. (0) | 2023.01.13 |
봄철 ContextLoaderListener의 역할/목적 (0) | 2023.01.13 |
Python에서의 메타클래스는 무엇입니까? (0) | 2023.01.13 |
도커 컨테이너에 스키마가 있는 MySQL 데이터베이스를 초기화하려면 어떻게 해야 합니까? (0) | 2023.01.03 |