在file_get_contents中定义变量

时间:2012-10-29 08:59:12

标签: php

我有这段代码

<?php
$a1 = 'http://www.hamooz.com';
$a2 = 'http://www.myegy.com';
$a3 = 'http://www.tech-wd.com/wd';
$num = rand(1,3);

$numb =  '$a'.$num;

echo file_get_contents($numb);
?>
问题似乎是:

  

警告:file_get_contents($ a3)[function.file-get-contents]:无法打开流:第9行的C:\ xampp \ htdocs \ ttt \ bessah.php中没有此类文件或目录

3 个答案:

答案 0 :(得分:4)

您需要执行$numb = ${'a'.$num};,但使用数组解决方案作为@Pekka的答案。

答案 1 :(得分:3)

变量变量是一种不好的做法。改为使用数组。

<?php

$a = array();
$a[] = 'http://www.hamooz.com';
$a[] = 'http://www.myegy.com';
$a[] = 'http://www.tech-wd.com/wd';
$num = rand(0,2);

$numb = $a[$num];

echo file_get_contents($numb);
?>

但是,对于此特定任务,还有一个shortcut

  

array_rand()

     

从数组中挑选一个或多个随机条目,并返回随机条目的一个或多个键。

答案 2 :(得分:0)

我同意@Pekka你会使你的代码复杂化, 但如果你绝对想要使用动态变量,你可以这样做:

<?php
$a1="hello";
$b=1;
echo ${"a$b"};
?>