php 질문 좀 하겠습니다.

php 질문 좀 하겠습니다.

QA

php 질문 좀 하겠습니다.

답변 1

본문

<?php

    $sql = " select group_concat(wr_1) f_tag from {$write_table} ";
    $row = sql_fetch($sql);
    $row['f_tag'] = trim($row['f_tag'], ',');
    $arr = explode (',' ,$row['f_tag']);
    foreach ($arr as $k => $v)
    {
     $ntags[$v]++;
    }
    arsort($ntags);
?>

 

foreach ($arr as $k => $v) 이건 어떻게 작동하나요?

오류도 있으면 알려주세요. 

이 질문에 댓글 쓰기 :

답변 1

배열은 언제나 키값과 value 값으로 구분됩니다.  예를 들어.

 

$arr['test1'] = "val1";

$arr['test2'] = "val2"; 

$arr[3] = "val3";

 

위의 arr배열 변수에서 키는 "test1","test2",3 이 되고, value는 "val1","val2","val3" 이 됩니다.

 

만약에 어떤 배열변수가 가진 키 만큼만 for문을 돌려서 value를 알고 싶으실때

foreach($arr as $k => $v){

echo "키값: ".$k."<br>";

echo "val값: ".$v."<br><br>";

}

 

해보시면,  키값을 기준으로 카운트되서 for문이 돌고,  키와 value값을 얻을수 있습니다.

foreach는 만약 $arr 에 아무 값이 없으면, 오류가 발생하니,  if(is_array($arr)) 일때,  foreach를

사용해주시면 좋으실거에요.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 12
© SIRSOFT
현재 페이지 제일 처음으로