2013-04-19 3 views
-1

이것은 하루 동안 내 마음을 괴롭혀 왔습니다. 그래서 나는 도움이 필요합니다. 주어진 문자열에서 같은 follwing을 같이 XXX ... 그리고 ...로 끝;}? :PHP는 형식이 지정된 문자열의 수를 계산합니다.

$str = 'a:1:{s:8:"post_tag";a:5:{ 
i:460;a:5:{s:11:"wpseo_title";s:8:"demodemo";s:10:"wpseo_desc";s:8:"demodemo";s:13:"wpseo_bctitle";s:8:"demodemo";s:13:"wpseo_noindex";s:7:"default";s:21:"wpseo_sitemap_include";s:1:"-";} 
i:459;a:5:{s:11:"wpseo_title";s:8:"testtest";s:10:"wpseo_desc";s:8:"testtest";s:13:"wpseo_bctitle";s:8:"testtest";s:13:"wpseo_noindex";s:7:"default";s:21:"wpseo_sitemap_include";s:1:"-";} 
i:462;a:5:{s:11:"wpseo_title";s:7:"bikey77";s:10:"wpseo_desc";s:7:"bikey77";s:13:"wpseo_bctitle";s:7:"bikey77";s:13:"wpseo_noindex";s:7:"default";s:21:"wpseo_sitemap_include";s:1:"-";} 
i:463;a:5:{s:11:"wpseo_title";s:7:"dimitra";s:10:"wpseo_desc";s:7:"dimitra";s:13:"wpseo_bctitle";s:7:"dimitra";s:13:"wpseo_noindex";s:7:"default";s:21:"wpseo_sitemap_include";s:1:"-";} 
i:464;a:5:{s:11:"wpseo_title";s:8:"dimitra1";s:10:"wpseo_desc";s:8:"dimitra1";s:13:"wpseo_bctitle";s:8:"dimitra1";s:13:"wpseo_noindex";s:7:"default";s:21:"wpseo_sitemap_include";s:1:"-";} 
}}'; 

는 어떻게 내가 시작 문자열의 수를 센다

하위 문자열 예 :

i:460;a:5:s:11:"wpseo_title";s:8:"demodemo";s:10:"wpseo_desc";s:8:"demodemo";s:13:"wpseo_bctitle";s:8:"demodemo";s:13:"wpseo_noindex";s:7:"default";s:21:"wpseo_sitemap_include";s:1:"-";}

+0

문자열을 직렬화 해제하고 행 수를 계산할 수 있습니까? – shapeshifter

+1

[XY 문제의 예] (http://meta.stackexchange.com/a/66378)에 대한 질문의 유사점에 놀랐습니다. – galymzhan

+0

downvote에 감사드립니다. 아마도 당신은 또한 해결책을 제안 할 수 있습니까? 아니면 너 똑똑해? – bikey77

답변

0

$data = unserialize($str); 
echo count($data['post_tag']); 
+0

이미 unserialize를 시도한 후 0을 반환합니다. 또한 post_tag는 문자열에서 한 번만 발생하므로 count ($ data [ 'wpseo_title']) 여야합니다. – bikey77

+3

@ bikey77'post_tag'는'count ($ arr [ 'post_tag']);'가되는'wpseo_title'을 5 개 포함하고 있습니다. –

+0

@ bikey77 http://3v4l.org/QJA8K – deceze

0

이 직렬화 된 데이터는, 그것을

$arr = unserialize($str); 
echo count($arr['post_tag']); 
문자열을 비 일렬 화입니다 ... 당신이 직렬화 된 배열을 상대하고있는 것 같은데, 그래서
+0

나는 deceze의 대답을 정답으로 받아 들였다. 왜냐하면 그가 비록 동일하더라도 그가 전에 대답했기 때문이다. 많은 감사합니다. – bikey77

관련 문제