Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 循环通过一组简单的HTMLDOM链接,并基于唯一id插入mySQL表_Php_Multidimensional Array_Simple Html Dom - Fatal编程技术网

Php 循环通过一组简单的HTMLDOM链接,并基于唯一id插入mySQL表

Php 循环通过一组简单的HTMLDOM链接,并基于唯一id插入mySQL表,php,multidimensional-array,simple-html-dom,Php,Multidimensional Array,Simple Html Dom,我有一个名为$trans的多维数组,如下所示: Array ( [0] => Array ( [0] => 1 [1] => Vol 19, No 2 (2018) [2] => Africa Sanguine [3] => https://www.ajol.info/index.php/asan/issue/view/17048

我有一个名为
$trans
的多维数组,如下所示:

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => Vol 19, No 2 (2018)
            [2] => Africa Sanguine
            [3] => https://www.ajol.info/index.php/asan/issue/view/17048
        )

    [1] => Array
        (
            [0] => 2
            [1] => Vol 19, No 1 (2017)
            [2] => Africa Sanguine
            [3] => https://www.ajol.info/index.php/asan/issue/view/16693
        )

)
我一直在尝试根据每个数组中的url提取元数据,并将其与每个数组的唯一id进行匹配,在本例中,数组0的id为1,数组1的id为2。我已经成功地提取了元数据,但是在将元数据插入mysql表时,我遇到了一些问题,所有记录都分配了最后插入的数组的id。e、 例如,所有记录都分配了id 1。我如何解决这个问题

我用来获取元数据的代码如下所示

//create a multidemnsional array called $trans
    array_unshift($citation, null);
        $trans = call_user_func_array('array_map', $citation);
        print_r($trans);

        //loop through trans and get metadata for url found in $value3  
        foreach($trans as $key => $value){
        //echo $value[3].'<br>';
        $html2 = file_get_html($value[3]);
        foreach($html2->find('table[class="tocArticle"]') as $div2) {
        $DOM = new DOMDocument();
        $DOM->loadHTML($div2);
        $Detail = $DOM->getElementsByTagName('td');
        $i = 0;
        $j = 0;
        foreach($Detail as $sNodeDetail) {
            $aDataTableDetailHTML[$j][] = trim($sNodeDetail->textContent);
            $j = $i % count($aDataTableDetailHTML[$j]) == 0 ? $j + 1 : $j;
        }
        }
        }
     print_r($aDataTableDetailHTML);
//创建一个名为$trans的多节点数组
数组_unshift($引文,null);
$trans=调用用户函数数组('array\u map',$引文);
印刷(trans);
//循环遍历trans并获取$value3中找到的url的元数据
foreach($trans as$key=>$value){
//echo$value[3]。
; $html2=file_get_html($value[3]); foreach($html2->find('table[class=“tocaracter”]”)作为$div2){ $DOM=新的DOMDocument(); $DOM->loadHTML($div2); $Detail=$DOM->getElementsByTagName('td'); $i=0; $j=0; foreach($sNodeDetail){ $adatabledetailhtml[$j][]=trim($sNodeDetail->textContent); $j=$i%count($AdatableDetailHTML[$j])==0?$j+1:$j; } } } 打印(AdatableDetailHTML);
包含有问题的代码将有助于解决此问题。@Nigel我刚刚将问题编辑为包含代码如果您要查找的值始终是项[0],则只需使用
var_dump(array_column($Detail,0))变量转储返回NULL。我实际上在寻找项目[0]、项目[1]和项目[3]