首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在PHP中使用函数之外的变量?

如何在PHP中使用函数之外的变量?
EN

Stack Overflow用户
提问于 2016-04-16 17:34:49
回答 1查看 30关注 0票数 0

我的职能:

代码语言:javascript
复制
function raspislinks($url)
{
    $chs = curl_init($url);
    curl_setopt($chs, CURLOPT_URL, $url);
    curl_setopt($chs, CURLOPT_COOKIEFILE, 'cookies.txt'); //Подставляем куки раз 
    curl_setopt($chs, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($chs, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36 OPR/29.0.1795.60");
    curl_setopt($chs, CURLOPT_SSL_VERIFYPEER, 0); // не проверять SSL сертификат
    curl_setopt($chs, CURLOPT_SSL_VERIFYHOST, 0); // не проверять Host SSL сертификата
    curl_setopt($chs, CURLOPT_COOKIEJAR, 'cookies.txt'); //Подставляем куки два
    $htmll = curl_exec($chs);
    $pos   = strpos($htmll, '<strong><em><font color="green"> <h1>');
    $htmll = substr($htmll, $pos);
    $pos   = strpos($htmll, '<!--                </main>-->');
    $htmll = substr($htmll, 0, $pos);
    $htmll = end(explode('<strong><em><font color="green"> <h1>', $htmll));
    $htmll = str_replace('<a href ="', '<a href ="https://nfbgu.ru/timetable/fulltime/', $htmll);
    $GLOBALS['urls'];
    preg_match_all("/<[Aa][ \r\n\t]{1}[^>]*[Hh][Rr][Ee][Ff][^=]*=[ '\"\n\r\t]*([^ \"'>\r\n\t#]+)[^>]*>/", $htmll, $urls);
    curl_close($chs);
}

如何在函数之外使用变量$urls?这是数组。“返回$urls”没有工作,或者我做错了什么。请帮帮我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-16 17:41:38

当您将一个值加载到函数中的$GLOBALS['urls'];中时,可以在此函数之外的代码中使用$urls

$GLOBALS数组为全局作用域中的每个可用变量保存一次,因此一旦设置了$GLOBALS['urls'];,该值也可以作为$urls引用。

喜欢

代码语言:javascript
复制
function raspislinks($url) {

 ...

    //$GLOBALS['urls'];
    preg_match_all("/<[Aa][ \r\n\t]{1}[^>]*[Hh][Rr][Ee][Ff][^=]*=[ '\"\n\r\t]*([^ \"'>\r\n\t#]+)[^>]*>/",
                      $htmll, 
                      $GLOBALS['urls']
                   );

}

raspislinks('google.com');
foreach ( $urls as $url) {

}

一种更简单的方法是将数据放入一个简单的变量中,然后从函数中返回数据。

代码语言:javascript
复制
function raspislinks($url) {

 ...

    //$GLOBALS['urls'];
    preg_match_all("/<[Aa][ \r\n\t]{1}[^>]*[Hh][Rr][Ee][Ff][^=]*=[ '\"\n\r\t]*([^ \"'>\r\n\t#]+)[^>]*>/",
                      $htmll, 
                      $t
                   );
    return $t;
}

$urls = raspislinks('google.com');
foreach ( $urls as $url) {

}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36667444

复制
相关文章

相似问题

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