2010-03-16 7 views
2

변수를 쉼표 (Implode)로 구분하여 변수를 보유하고 있지만 count()는 단지 1을 반환하는 것입니다.php에서 쉼표로 구분 된 값을 계산하는 방법?

변환을 시도했습니다. 쉼표는 적절하게 형식화 된 배열로 값을 분리하여 출력합니다. 그래서를 heres

sarray 세션 값 1, 값에 동일 빠른 조각

, VALUE3 : 어떤 도움을 주시면 감사하겠습니다

$schools = $_SESSION['sarray']; 
$result = count($schools); 

. 당신은 단지 수를 필요로하고, 깨끗한 쉼표로 구분 된 목록입니다 100 % 확신하는 경우

$schools = $_SESSION['sarray']; 
$schools_array = explode(",", $schools); 
$result = count($schools_array); 

, 당신은 또한 substr_count()를 사용할 수 근소하게 더 빠를 수 있습니다 :

답변

12

당신은 실제 배열에 explode$schools 필요 그리고, 더 중요한 것은, 데이터의 매우 큰 세트와 메모리에 쉽게 :

$result = substr_count($_SESSION['sarray'], ",") +1; 
// add 1 if list is always a,b,c; 
+0

, 당신에게 모두 감사까지 너희들을 투표 것입니다 -하지만 난 여기에 새입니다. – Jay

+0

@ 제이 문제 없어요. 천만에요. –

+0

@ 페카. 옵션에 대해 투표했습니다.) 그러나 substr_count에 대해 +1 – Ben

1
$schools = $_SESSION['sarray']; 
$array = explode(',', $schools); array_walk($array, 'trim'); 
$count = count($array); 

array_walk($array, 'trim') 요소 값에서 후행 공백을 제거합니다. :)

2

그것보다 그 간단한 사실

$result = count(explode(',',$schools)); 
1

,해야합니다

$count = substr_count($schools, ',') + 1; 
+0

내가 틀렸다면 용서해라. 그러나 나는 당신이'substr_count'를 의미한다고 생각한다. 확실하게 +1? –

+0

@adam yeah, 네 말이 맞아, 나는 급하게 응답을 타이프했다. –

+0

이름이있는 학교가있을 때까지 이것은 작동 할 것이다. – zerkms

관련 문제