首页 >PHP讨论组 >foreach 循环二维数组数字字符串无法与数字比较,尝试将其转换为int类型结果直接变为0

foreach 循环二维数组数字字符串无法与数字比较,尝试将其转换为int类型结果直接变为0foreach 循环二维数组数字字符串无法与数字比较,尝试将其转换为int类型结果直接变为0

问题描述: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;

二维数组格式如下:

QQ图片20170929162436.png

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

QQ截图20170929162647.jpg


 
6
 
+1
-1
 
分享
全部回复 (6)我来回答
    朽木
    6楼
    朽木 · 1个月前

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

      赞+0添加回复

    phpcn_u38476
    5楼
    phpcn_u38476 · 2个月前

    333

      赞+0添加回复

    phpcn_u38476
    4楼
    phpcn_u38476 · 2个月前

    44444444444444433333333333

      赞+0添加回复

    phpcn_u38476
    3楼
    phpcn_u38476 · 2个月前

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

      赞+0添加回复

    phpcn_u38476
    2楼
    phpcn_u38476 · 2个月前

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

      赞+0添加回复

    phpcn_u38476
    1楼
    phpcn_u38476 · 2个月前

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

      赞+0添加回复

    首页上一页1下一页尾页