首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从数组中提取子数据

问如何从数组中提取子数据
EN

Stack Overflow用户
提问于 2020-10-15 01:07:53
回答 1查看 31关注 0票数 0

我在PHP中使用简单的HTML DOM Scraper,试图获得各种运动队的统计数据

index.php

代码语言:javascript
复制
$html = file_get_html("https://www.teamrankings.com/nfl/trends/ats_trends/");

foreach($html->find("tbody tr") as $h){
    $rows[] = $h->text();

返回:

代码语言:javascript
复制
Array ( [0] => Green Bay 4-0-0 100.0% 12.8 +10.9 [1] => LA Chargers 4-1-0 80.0% -3.0 -0.1 [2] => Seattle 4-1-0 80.0% 6.8 +2.9 [3] => Pittsburgh 3-1-0 75.0% 7.8 +2.0 

我想要得到的是团队,然后是统计数据,例如索引0几乎有5个子数组索引。

代码语言:javascript
复制
[0] = green bay
[1] = 4-0-0
[2] = 100%
[3] = 12.8
[4] = +10.9

您可以看到在主数组中有多个元素,我需要在这些元素中执行此操作。最好的方法是什么,或者我应该用一种不同的方式使用刮刀?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-15 01:52:13

获取td的->children(),然后循环遍历它们以获取->text(),可以使用foreach或array_map等。

代码语言:javascript
复制
<?php
include 'simple_html_dom.php';

$html = file_get_html("https://www.teamrankings.com/nfl/trends/ats_trends/");

$rows = [];
foreach($html->find("tbody tr") as $tr) {
    $rows[] = array_map(function($td) {
        return trim($td->text());
    }, $tr->children());
}

print_r($rows);

/**
 * Array
(
    [0] => Array
        (
            [0] => Green Bay
            [1] => 4-0-0
            [2] => 100.0%
            [3] => 12.8
            [4] => +10.9
        )

    [1] => Array
        (
            [0] => LA Chargers
            [1] => 4-1-0
            [2] => 80.0%
            [3] => -3.0
            [4] => -0.1
        )
 */
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64358279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档