2010-08-20 8 views
2

나는문자열을 배열로 변환하는 방법은 무엇입니까?

$arr[0]['name'] = "name1"; 
$arr[0]['char'] = "b"; 
$arr[0]['qnt'] = "2"; 

$arr[1]['name'] = "name2"; 
$arr[1]['char'] = "c"; 
$arr[1]['qnt'] = "3"; 

$arr[2]['name'] = "name3"; 
$arr[2]['char'] = "b"; 
$arr[2]['qnt'] = "2"; 
내가 배열에 문자열을 추출하는 폭발 사용

같은 배열에 문자열을

"name1", "b", "2", "name2", "c", "3", "name3", "b", "2", .... 

을 변환해야하지만

어떤 생각을 작동하지? 배열의 키는 숫자 것에 대해 당신은 상관하지 않는 경우

+1

당신이 사용했던 코드를 게시하세요. – Aman

+0

$ arr = explode (",", $ yourString)이 작동해야하며 코드를 게시하십시오. –

+0

http://www.php.net/manual/en/function.preg-split.php – Ivan

답변

3
$input = '"name1", "b", "2", "name2", "c", "3", "name3", "b", "2"'; 
$input = str_replace('"', '', $input); 
$input = explode(', ', $input); 

$output = array(); 
$i = 0; 
while ($i < count($input)) { 
    $output[] = array(
     'name' => $input[$i++], 
     'char' => $input[$i++], 
     'qnt' => $input[$i++] 
    ); 
} 

print_r($output); 

출력 :

Array 
(
    [0] => Array 
     (
      [name] => name1 
      [char] => b 
      [qnt] => 2 
     ) 

    [1] => Array 
     (
      [name] => name2 
      [char] => c 
      [qnt] => 3 
     ) 

    [2] => Array 
     (
      [name] => name3 
      [char] => b 
      [qnt] => 2 
     ) 

) 
+0

[편집 가능] (http://stackoverflow.com/posts/3533174/edit) 삭제 된 답변도 – Gordon

2

, 당신은 할 수 있습니다 :

$string = 'name1, b, 2, name2, c, 3, name3, b, 2'; 
print_r(array_chunk(explode(',', $string), 3)); 
관련 문제