ProgramingTip

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

bestdevel 2020. 11. 12. 19:27
반응형

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


마이너스 (-)를 접두사로 붙이고 싶은 PHP 배열이 있습니다. explode를 사용하면 가능하고 implode를 사용할 수 있다고 생각합니다. PHP에 대한 지식은 불가능합니다. 어떤 도움을 주시면 감사하겠습니다.

본질적으로 나는 이것에서 가고 싶습니다.

$array = [1, 2, 3, 4, 5];

이에 :

$array = [-1, -2, -3, -4, -5];

어떤 아이디어?


단순한 :

foreach ($array as &$value) {
   $value *= (-1);
}
unset($value);

배열이 다중이 아닌 경우 :

foreach ($array as &$value) {
    $value = '-' . $value;
}
unset($value);

배열 값을 접두사로 지정하는 우아한 방법 (PHP 5.3+) :

$prefixed_array = preg_filter('/^/', 'prefix_', $array);

또한 이것은 foreach.


이 경우 Rohit의 대답 이 아마도 최고 일 것입니다. 그러나 PHP 배열 함수 는 더 복잡한 상황에서 매우 유용 할 수 있습니다.

를 사용 하여 기존 배열을 변경하는 배열의 각 요소에 대해 수행 할 수 있습니다 . 거의 동일한 작업을 수행하지만 기존 배열을 수정하는 대신 새 배열을 반환합니다. 계속 배열을 계속 사용하려는 것처럼 보이기 때문에 .array_walk()array_map()array_walk()

를 사용하여 배열의 요소에 대해 직접 작업 배열 의 항목을 참조 ( )로 전달하십시오 .array_walk()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이 너무 멋진 바지라면 다음을 사용하십시오 .createfunction()

// 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)

$array = [1, 2, 3, 4, 5];
$array=explode(",", ("-".implode(",-", $array)));
//now the $array is your required array

"아무것도"를 대체 할 수 있습니다. 그러나 어디에나 지정 배열을 접두사로 예측 (원래 게시 된 숫자가 아님) :

$prefixed_array = substr_replace($array, 'your prefix here', 0, 0);

즉, $ the_array의 각 요소에 대해 0, 길이 0에서 (길이가 0 인) 더 많이 가져와 접두사로 바꿉니다.

참조 : substr_replace


나는 전에도 같은 상황이 있었다.

각 배열 값에 접두사 추가

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

반응형