2017-12-20 5 views
0

을 유지, 나는 양식 정의를 취득하기위한 경로 ...로 json_encode/JMS_Serializer, 내 응용 프로그램에서 vueJs, 에서 심포니와 앞에 백 엔드 API를 숫자 키

을하지만 entityType을 위해 내가 필요 그래서 선택 목록을 가지고 내가 이렇게 : 이론적으로

$result['choice'] = array_reduce($config->getOption('choice_list') 
        ->getChoices(), function ($carry, $item) { 
         return array_merge($carry, [(string)$item->getId() => (string)$item]); 
        }, []); 

등이 반환 somethingth :

[ "0" => "value1", "1" => "value2", "3" => "value3" ... ] 
(note, key are not necessary continue) 

실제로, 디버거는이 숫자의 "0"말은 그렇게 INT입니다! 그리고 JMS 또는 json_encode는 동일한 작업을 수행합니다 ... 직렬화 후에 키가없는 간단한 배열이 있습니다!

어떻게 실제 연관 배열을 가져 오기 위해 JMS 또는 기본 PHP 함수를 속일 수 있습니까?

답변

0
$result['choice'] = array_reduce($config->getOption('choice_list') 
        ->getChoices(), function ($carry, $item) { 
         return array_merge($carry, ["0{$item->getId()}" => (string)$item]); 
        }, []); 

CONCAT 아이디의 "0"앞 트릭을 할 :)

난 내 양식에 "가짜"문자열 ID를 가지고 ...하지만 난 형태 ... 심포니 캐스트를 제출할 때 "01"에서 int ^^