你能给出测试数据吗?从 for ($i=0; $i< count($matches[0]);  $i++) 循环上看
description、picClickUrl、origPicUrl、comment、itemId、price、realPrice 是一定成套出现的,对吧?
不然类似 $matches_2[0][$i] 这样的就可能是未定义下标了preg_match_all ('/(description|picClickUrl|origPicUrl|comment|itemId|price|realPrice)":"([^\[\<]+?)"/i', $user, $matches);
则 $matches[1] 是由 description、picClickUrl、origPicUrl、comment、itemId、price、realPrice 组成的数组
$matches[2] 就是对应的值