Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.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 不同的数组值取决于if语句_Php - Fatal编程技术网

Php 不同的数组值取决于if语句

Php 不同的数组值取决于if语句,php,Php,我正在建立一个网络爬虫扫描链接,标题和元描述,从一个url中找到的链接提交 我认为这句话是正确的$description是保存数组$link中所有描述的变量。但我注意到并不是所有的网站都有元描述(比如维基百科),所以我决定如果描述为空,我希望前二十个字符作为描述。(顺便说一句,所有东西的功能和调用都很有效,我只是想让你看看) 可以使用array_push()将$res添加回数组,然后根据需要对数组求值;不是100%确定你想做什么…从你的措辞来看,我认为你想这样做: $outputs = arra

我正在建立一个网络爬虫扫描链接,标题和元描述,从一个url中找到的链接提交

我认为这句话是正确的$description是保存数组$link中所有描述的变量。但我注意到并不是所有的网站都有元描述(比如维基百科),所以我决定如果描述为空,我希望前二十个字符作为描述。(顺便说一句,所有东西的功能和调用都很有效,我只是想让你看看)


可以使用array_push()将$res添加回数组,然后根据需要对数组求值;不是100%确定你想做什么…

从你的措辞来看,我认为你想这样做:

$outputs = array();

foreach ($links as $thisLink) {
    $output = array("link" => $thisLink, "title" => Titles($thisLink), "description" => getMetas($thisLink));

    if ($output['description'] == null) {
        $output['description'] = getMetas($res);
    }

    $outputs[] = $output;
}

您可能需要调整if语句,因为我不知道当没有描述时getMetas()返回什么。

不确定变量/数组的构造,但是当您在
if
块中时,为什么不在检测时将
$res
的内容插入数组?链接、标题和元数据存储在哪里。。。在assoc数组中?对象?您在哪里设置
$links
?显示代码。哦,我错过了一个字符。现在它在$outputs变量中累积链接。请使用var_dump检查$outputs。
$output = Array();

   foreach ($links as $thisLink) {
   $output[] = array("link" => $thisLink, "title" => Titles($thisLink), "description" => getMetas($thisLink), getMetas($res));
     } 
    print_r($output);
$outputs = array();

foreach ($links as $thisLink) {
    $output = array("link" => $thisLink, "title" => Titles($thisLink), "description" => getMetas($thisLink));

    if ($output['description'] == null) {
        $output['description'] = getMetas($res);
    }

    $outputs[] = $output;
}