-1

这是我从 Yahoo API 获取数据的工作 PHP 代码。

<?php
$dom->strictErrorChecking = false;
$doc = new DOMDocument();
$doc->load( 'http://answers.yahooapis.com/AnswersService/V1/questionSearch?appid=appid&query=cats&region=us&type=resolved&start=200&results=1' );

$Question = $doc->getElementsByTagName( "Question" );
foreach( $Question as $Question )
{
$Subject = $Question->getElementsByTagName( "Subject" );
$Subject = $Subject->item(0)->nodeValue;

$Content = $Question->getElementsByTagName( "Content" );
$Content = $Content->item(0)->nodeValue;

$ChosenAnswer = $Question->getElementsByTagName( "ChosenAnswer" );
$ChosenAnswer = $ChosenAnswer->item(0)->nodeValue;

echo "<p><b>$Subject\n</b><br>$Content<br><i>$ChosenAnswer</i></p>";
}
?>

我需要发生的是在我现在有数字 200 的 url 的末尾,我需要它是 1 到 500 之间的随机数。所以当加载 php 页面时,$doc->load 中的 url 将有时是 start=245 然后下一页加载可能是 start=365 等等。所以基本上每个页面加载都是从 Yahoo API 获取不同的 url。如何在此处添加到我的代码以创建该随机数?

4

4 回答 4

2

检查rand(),我想它会完成这项工作:

rand(min,max):

http://www.php.net/manual/en/function.rand.php

于 2013-04-30T16:48:20.153 回答
0

您可以执行以下操作:

$doc->load( 'http://answers.yahooapis.com/AnswersService/V1/questionSearch?appid=appid&query=cats&region=us&type=resolved&start=' . rand(1, 500) . '&results=1' );

更多信息: http: //php.net/manual/en/function.rand.php

于 2013-04-30T16:49:42.407 回答
0

我想你忘记读禁书了Documentation,在这本书中你可以找到一些制作魔法物品的秘诀Random numbers between range

该技巧称为rand,用于使用该技巧:

$randomNumber = rand(1, 500);
于 2013-04-30T16:49:58.223 回答
0

你可以这样做:

$random = mt_rand(1,500);

$doc->load( 'http://answers.yahooapis.com/AnswersService/V1/questionSearch?appid=appid&query=cats&region=us&type=resolved&start=' . $random . '&results=1' );

.在这里使用(点)操作数“添加”字符串。

简单易懂的简化版:

 $x = 5;

 $some_string = 'foo' . $x . 'bar'; // will produce text: foo5bar

 echo $some_string;
于 2013-04-30T16:56:39.857 回答