ホームページ  >  に質問  >  本文

2次元配列の数値列のforeachループは数値との比較ができないため、int型に変換しようとすると結果がそのまま0になってしまいます。

問題の説明: foreach は 2 次元配列をループして条件を満たすコンテンツを見つけ、それを新しい 2 次元配列に再編成します。得られたデジタル文字列は数値と比較されますが、比較できません。デジタル文字を 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;

2 次元配列の形式は次のとおりです。

## 数値を変換すると 0 になります。 QQ图片20170929162436.png

QQ截图20170929162647.jpg

状況は次のとおりです。
焚天驻地焚天驻地2600日前1557

全員に返信(6)返信します

  • 朽木

    朽木2017-10-23 19:59:56

    豆が足りないとはどういう意味ですか?上の親愛なる友人、P Bean?

    返事
    0
  • phpcn_u38476

    phpcn_u384762017-10-02 23:35:02

    333

    返事
    0
  • phpcn_u38476

    phpcn_u384762017-10-02 23:34:54

    44444444444444433333333333

    返事
    0
  • phpcn_u38476

    phpcn_u384762017-10-02 23:22:52

    1 豆 2 豆 3 豆 0 豆 0 豆 - 豆 = 豆 43 豆 2 豆 2 豆 4 豆 4 豆が欲しいです

    返事
    0
  • phpcn_u38476

    phpcn_u384762017-10-02 23:14:58

    豆が足りない、豆が足りない、豆が足りない、豆が足りない、豆が足りない、豆が足りない、豆が足りない

    返事
    0
  • phpcn_u38476

    phpcn_u384762017-10-02 23:14:40

    豆が足りない、豆が足りない、豆が足りない、豆が足りない、豆が足りない、豆が足りない

    返事
    0
  • キャンセル返事