개체가 있는 배열이 있는 경우:
$a = array($objA, $objB);
(각 오브젝트에는__toString()
-외부)
모든 어레이 요소를 문자열에 캐스팅하여 어레이가$a
문자열 표현 이외의 오브젝트는 포함되어 있지 않습니다.1개의 라이너가 있습니까?아니면 어레이를 수동으로 루프해야 합니까?
질문에 대한 답변
원라이너:
$a = array_map('strval', $a); // strval is a callback function
PHP DOCS:
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);
즐거운 시간 되세요.
테스트는 안 했지만, 이런 걸로 충분할까요?
foreach($a as $key => $value) {
$new_arr[$key]=$value->__toString(); } $a=$new_arr;
폭발물을 찾고 있나요?
$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);
echo $comma_separated; // lastname,email,phone
지금은 테스트할 수 없습니다만, 이러한 어레이를 사용하면 어떻게 되는지 확인해 주실 수 있습니까?_toString이 호출되어야 합니다.