programing

PHP 배열의 각 항목에 접두사 추가

goodsources 2023. 1. 13. 19:53
반응형

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

반응형