数组返回,枚举或其他解决方案?

时间:2018-04-19 03:56:50

标签: php arrays curl post

我无法识别此数组的每一行......是否可以枚举或以其他方式提取特定的数组字段?

我的代码是:

<?php

/*
    Generic function to fetch all input tags (name and value) on a page
Useful when writing automatic login bots/scrapers
*/
function get_input_tags($html)
{
    $post_data = array();

    // a new dom object
    $dom = new DomDocument; 

    //load the html into the object
    $dom->loadHTML($html); 
    //discard white space
    $dom->preserveWhiteSpace = false; 

    //all input tags as a list
    $input_tags = $dom->getElementsByTagName('input'); 

    //get all rows from the table
    for ($i = 0; $i < $input_tags->length; $i++) 
    {
        if( is_object($input_tags->item($i)) )
        {
            $name = $value = '';
            $name_o = $input_tags->item($i)->attributes->getNamedItem('name');
            if(is_object($name_o))
            {
                $name = $name_o->value;

                $value_o = $input_tags->item($i)->attributes->getNamedItem('value');
                if(is_object($value_o))
                {
                    $value = $input_tags->item($i)->attributes->getNamedItem('value')->value;
                }

                $post_data[$name] = $value;
            }
        }
    }

    return $post_data;
}

/*
    Usage
*/

error_reporting(~E_WARNING);
$html = file_get_contents("https://secure.donman.net.au/client/ozchild/Donate.aspx");

echo "<pre>";
print_r(get_input_tags($html));
echo "</pre>";

?>

生成结果

[radInMemDiscloseAmount] => No
[txtInMemOfAddress] => 
[txtInMemOfSuburb] => 
[txtInMemOfState] => 
[txtInMemOfPostCode] => 
[txtInHonorOfName] => 
[txtInHonorOfAddress] => 
[txtInHonorOfSuburb] => 
[txtInHonorOfState] => 
[txtInHonorOfPostCode] => 
[HonorEventType] => gf_other_choice
[HonorEventTypeOtherText] => Other

我怎么能有这样的东西?

    [0][radInMemDiscloseAmount] => No
    [1][txtInMemOfAddress] => 
    [2][txtInMemOfSuburb] => 
    [3][txtInMemOfState] => 
    [4][txtInMemOfPostCode] => 
    [5][txtInHonorOfName] => 
    [6][txtInHonorOfAddress] => 
    [7][txtInHonorOfSuburb] => 
    [8][txtInHonorOfState] => 
    [9][txtInHonorOfPostCode] => 
    [10][HonorEventType] => gf_other_choice
    [11][HonorEventTypeOtherText] => Other

我怎么能有这样的东西?或某种方式来识别数组行? 我无法识别此数组的每一行......是否可以枚举或以其他方式提取特定的数组字段?

0 个答案:

没有答案