2011-09-14 5 views

답변

7

이것은 루프를 사용하여 수행 할 수 있지만 더 간단한 방법이 있습니다.

explode 기능 [php docs]을 사용하여 문자열을 쉼표로 구분할 수 있습니다. 이것은 당신에게 일련의 숫자 열을 줄 것입니다. 각각 intval[php docs]을 사용하여 array_map[php docs]을 사용하여 각 문자열을 정수로 변환 할 수 있습니다.

$attached_products = "1,4,3"; 
$selected_strings = explode(',', $attached_products); # == array('1', '4', '3') 
$selected = array_map('intval', $selected_strings); # == array(1, 4, 3) 
+0

@ Jeremy Banks, hmmm은 어레이 (1, 4, 3)와 동일한 출력입니까? – Emkey

+0

'intval '을 따옴표로 묶어야합니다. – alex

+0

@Emkey : 내 값은 정수가 아니라 문자열입니다. 나는 그것을 고쳤다. 이제 그들은 동일합니다. –

4

당신은 그것을 위해 explode()를 사용하거나 쉼표 뒤에 공백이 없을 수도 있습니다 경우 preg_split()을 사용할 수

$selected = explode(", ", $attached_products); 
2

.

$selected = preg_split(/,\s*/, $attached_products); 

또는 당신 explode(), trim()array_map()를 사용할 수 있습니다.

$selected = array_map('trim', explode(',', $attached_products)); 

정수인 경우 으로 매핑하십시오.

관련 문제