2014-02-10 3 views
1

배열의 값을 문자열로 인쇄하려고합니다. PHP 문서에서이 코드를 얻었지만 문자열 변환 오류가 발생합니다. 값은 숫자이고 볼 수 있습니다.문자열을 에코하기 위해 배열을 채우기

$viz_array_qry = "SELECT (`column_name`) FROM table_name WHERE option_name='$option_name'"; 
$result = mysql_query($viz_array_qry); 
$result_array = array(); 
while($row = mysql_fetch_assoc($result)) 
{ 
    $result_array[] = $row; 
    $viz_array = implode (',',$result_array); 
} 
    print_r($viz_array); 

    //echo $viz_array; <!-- no result--> 

$ result_array를 var_dump하면 아래 값 목록이 나타납니다. 하지만 그저 그걸로 표시하고 싶습니다.

0,0,57,39,40 

나는 왜 작동하지 않을까요?

array (size=5) 
0 => 
    array (size=1) 
    'column_name' => string '0' (length=1) 
1 => 
    array (size=1) 
    'column_name' => string '0' (length=1) 
2 => 
    array (size=1) 
    'column_name' => string '57' (length=2) 
3 => 
    array (size=1) 
    'column_name' => string '39' (length=2) 
4 => 
    array (size=1) 
    'column_name' => string '40' (length=2) 

답변

3

while($row = mysql_fetch_assoc($result)) 
{ 
    $result_array[] = $row['column_name']; 
} 

echo implode(',', $result_array); 
+0

아, 그건 의미가 있습니다. 도와 주셔서 감사합니다. – conor909

0

내파 while 루프 후 루프 implode 외부 전용 저장소 (배열이다) 대신 $row의 COLUMN_NAME ($row['column_name'])의 값을 이동해야

$viz_array_qry = "SELECT (`column_name`) FROM table_name WHERE option_name='$option_name'"; 
$result = mysql_query($viz_array_qry); 
$result_array = array(); 

while($row = mysql_fetch_assoc($result)) 
{ 
$result_array[] = $row; 
} 

$viz_array = implode (',',$result_array); 
print_r($viz_array); 
+0

작동하지 않습니다 :'$ 행'배열입니다 (내 대답을 참조하십시오) –

0

기존 코드를 변경하고 배열에 데이터를 저장하지 않으려는 경우에도 array_map()을 사용하여 원하는대로 결과를 얻을 수 있습니다. 아래

$arr = array(0=>array('column_name'=>'0'),1=>array('column_name'=>'0'), 
3=>array('column_name'=>'57'),4=>array('column_name'=>'39')); 

function get_col($col) { 
    return $col["column_name"]; 
} 

$values = implode(array_map("get_col", $arr), ','); 

echo $values ; 
+0

그쪽에 잘못된 구현에 대한 해결 방법이 아닌가요? 2 줄 (ID와 최종'implode' 배열을 포함하는 배열)을 추가하는 것이 솔루션보다 쉽고 이해하기 쉽다고 생각합니다. – Diamondo25

+0

네, 그 이유는 "모든 코드가 다른 목적으로 사용될 필요가 있다면"기존 코드를 변경하고 싶지 않더라도 "언급했기 때문입니다. –

+0

좋아, 이번에는 그럴 필요가 없지만 정보 Abhik Chakraborty에게 감사드립니다. – conor909

관련 문제