問題描述:foreach 循環二維數組尋找符合條件的內容重組成新二維數組,獲取出來的數字字符串與數字比較,無法進行比較,嘗試將數字字符轉為int類型,所有結果都變成0;(以下程式碼可直接運行)
//创建curl资源 $ch=curl_init(); //设置url和对应项 curl_setopt($ch, CURLOPT_URL, "http://match.sports.sina.com.cn/football/csl/opta_rank.php?item=shoot&year=2014&lid=8&type=1&dpc=1"); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //以文件形式返回而不是直接输出 $data=curl_exec($ch); $my_file=fopen("shoot.html",'w') or die('no file'); fwrite($my_file, $data); fclose($my_file); curl_close($ch); $my_file=fopen("shoot.html",'r'); $res= fread($my_file,filesize("shoot.html")); fclose($my_file); //步骤2获取table内容转为数组 $str1 = preg_replace("/<a[^>]*>/","", $res); $str2 = preg_replace("/<\/a>/","", $str1); preg_match('/<table[^>]*? class="tab01">(.*?)<\/table>/s',$str2,$match); preg_match_all('/<td.*?>.*?<\/td>/i',$match[0],$e1); foreach ($e1[0] as $k=>$v){ $shoot_arr[ceil(($k+1)/8)-1][]=$v; } shuffle($shoot_arr); //随机排序 $left_10to50_arr=array(); //var_dump($shoot_arr); foreach($shoot_arr as $keys=>$vals){ // $leftfoot=$shoot_arr[$keys][4]; echo '<br/>'; var_dump($leftfoot); echo '<br/>'; var_dump((int)$leftfoot); //强制转换为整型 数据变成0 //获取满足条件的数据重组数组 if($leftfoot >= 10 && $leftfoot<=50){ //不转换数据类型无法比较大小 $left_10to50_arr[]=$vals; } if($keys>3)exit; } echo '<pre>'; print_r($left_10to50_arr); echo '</pre>'; exit;
二維數組格式如下:
數字字元轉換後變成0,情況如下:
豆不夠了是什麼意思?上面這一位仁兄,p豆?
333
44444444444444433333333333
要 豆1子要2豆3子0豆0子-要=豆43子2要2豆4子4要
豆不夠了豆不夠了豆不夠了豆不夠了豆不夠了豆不夠了豆不夠了
豆不夠了豆子不夠了豆子不夠了豆子不夠了豆子不夠了