foreach 循环二维数组数字字符串无法与数字比较,尝试将其转换为int类型结果直接变为0
焚天驻地
焚天驻地 2017-09-29 16:31:48
0
6
1509

问题描述: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("/]*>/","", $res); $str2 = preg_replace("/<\/a>/","", $str1); preg_match('/]*? class="tab01">(.*?)<\/table>/s',$str2,$match); preg_match_all('/.*?<\/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 '
'; var_dump($leftfoot); echo '
'; var_dump((int)$leftfoot); //强制转换为整型 数据变成0 //获取满足条件的数据重组数组 if($leftfoot >= 10 && $leftfoot<=50){ //不转换数据类型无法比较大小 $left_10to50_arr[]=$vals; } if($keys>3)exit; } echo '
'; print_r($left_10to50_arr); echo '
'; exit;

二维数组格式如下:

QQ图片20170929162436.png

数字字符转换后变为0,情况如下:

QQ截图20170929162647.jpg


焚天驻地
焚天驻地

全部回复 (6)
朽木

豆不够了是什么意思?上面这一位仁兄,p豆?

    phpcn_u38476

    333

      phpcn_u38476

      44444444444444433333333333

        phpcn_u38476

        要 豆1子要2豆3子0豆0子-要=豆43子2要2豆4子4要

          phpcn_u38476

          豆不够了豆不够了豆不够了豆不够了豆不够了豆不够了豆不够了

            phpcn_u38476

            豆不够了豆不够了豆不够了豆不够了豆不够了豆不够了

              最新下载
              更多>
              网站特效
              网站源码
              网站素材
              前端模板
              关于我们 免责声明 Sitemap
              PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!