我想调用一个在循环外定义但在循环内部调用的函数,然后每次循环运行时从循环外部的循环内部的函数定义访问变量 这里是数据库连接,包含while循环和函数调用,然后访问""功能页面($ h)中定义的$ second_trim变量""在while循环中
<html>
<head>
<title></title>
</head>
<body>
<?php
$getquery = mysql_query("SELECT * FROM table WHERE $construct LIMIT $start, $per_page");
while($runrows = mysql_fetch_assoc($getquery))
{
$title = $runrows ['Title'];
$url = $runrows ['URL'];
page($url);
echo "<div style='clear: both;position:relative;border:1px solid #A5BEBE;background-color: white;'>
$second_trim</div>";
}
function page($h){
$i=fopen($h,"r");
$contents=stream_get_contents($i);
fclose($i);
$contents=strtolower($contents);
$start='<div';
$start_pos=strpos($contents,$start);
$first_trim=substr($contents,$start_pos);
$stop='</div>';
$stop_pos=strpos($first_trim,$stop);
$second_trim=substr($first_trim,0,$stop_pos);
}
?>
</body>
</html>
while循环从数据库中获取url并通过&#34; page($ url)&#34;在循环中调用的函数定义函数&#34;函数页面($ h)&#34;在循环之外它将获得$ second_trim中所需的内容,每次运行时它将在echo语句的循环内显示但是我得到了错误就像 致命错误:调用未定义的函数crawl_page() 他们是我面临的一些语法问题,我很难找到很多搜索后他们可以做到这一点PLZ帮助我
答案 0 :(得分:0)
您需要定义您的功能 - &gt;在循环之前function page($h){...}
。其次,返回函数末尾的$second_trim
,然后将函数调用设置为变量
...your html...
<?php
function page($h){
$i=fopen($h,"r");
$contents=stream_get_contents($i);
fclose($i);
$contents=strtolower($contents);
$start='<div';
$start_pos=strpos($contents,$start);
$first_trim=substr($contents,$start_pos);
$stop='</div>';
$stop_pos=strpos($first_trim,$stop);
$second_trim=substr($first_trim,0,$stop_pos);
//return the value
return $second_trim;
}
$getquery = mysql_query("SELECT * FROM table WHERE $construct LIMIT $start, $per_page");
while($runrows = mysql_fetch_assoc($getquery)){
$title = $runrows ['Title'];
$url = $runrows ['URL'];
//save the function returned value to variable
$second_trim = page($url);
echo "<div style='clear: both;position:relative;border:1px solid #A5BEBE;background-color: white;'>
$second_trim</div>";
}
?>
...your html...