반응형
PHP에서 배열 요소를 문자열로 캐스팅하는 방법은 무엇입니까?
객체가있는 배열이있는 경우 :
$a = array($objA, $objB);
(각 객체에는 __toString()
-method가 있습니다)
배열 $a
이 더 이상 객체가 아니라 문자열 표현을 포함 하도록 모든 배열 요소를 문자열로 캐스팅하려면 어떻게 해야합니까? 한 줄짜리가 있습니까? 아니면 배열을 수동으로 반복해야합니까?
한 줄짜리 :
$a = array_map('strval', $a);
// strval is a callback function
PHP 문서 참조 :
즐겨! ;)
테스트되지 않았지만 이와 같은 작업을 수행해야합니까?
foreach($a as $key => $value) {
$new_arr[$key]=$value->__toString();
}
$a=$new_arr;
당신은 implode 를 찾고 계십니까 ?
$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);
echo $comma_separated; // lastname,email,phone
지금은 테스트 할 수 없지만 implode()
이러한 어레이를 사용 하면 어떻게되는지 확인할 수 있습니까? _toString 을 호출 해야 합니다.
Alix Axel이 가장 좋은 대답입니다. 또한 array_map을 사용하여 배열에 무엇이든 적용 할 수 있습니다.
//All your objects to string.
$a = array_map(function($o){return (string)$o;}, $a);
//All your objects to string with exclamation marks!!!
$a = array_map(function($o){return (string)$o."!!!";}, $a);
즐겨
다음을 할 수없는 이유가 있습니까?
$a = array(
(string) $objA,
(string) $objB,
);
참고 URL : https://stackoverflow.com/questions/2131462/how-to-cast-array-elements-to-strings-in-php
반응형
'program tip' 카테고리의 다른 글
IISReset의 기능은 무엇입니까? (0) | 2020.11.01 |
---|---|
클래스에 정적 필드와 메서드 만있는 것이 나쁜 습관입니까? (0) | 2020.11.01 |
EJB를 JAX-RS (RESTful 서비스)에 삽입 (0) | 2020.11.01 |
Python에서 파일 끝에 함수 선언 (0) | 2020.11.01 |
junit의 java.lang.NoClassDefFoundError (0) | 2020.11.01 |